diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Environment.java b/src/main/java/com/google/devtools/build/lib/syntax/Environment.java
index 35e87e2..aeb018f 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Environment.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Environment.java
@@ -213,24 +213,19 @@
     /** The set of known global variables of the caller. */
     @Nullable Set<String> knownGlobalVariables;
 
-    /** Whether the caller is in Skylark mode. */
-    boolean isSkylark;
-
     Continuation(
         Continuation continuation,
         BaseFunction function,
         FuncallExpression caller,
         Frame lexicalFrame,
         Frame globalFrame,
-        Set<String> knownGlobalVariables,
-        boolean isSkylark) {
+        Set<String> knownGlobalVariables) {
       this.continuation = continuation;
       this.function = function;
       this.caller = caller;
       this.lexicalFrame = lexicalFrame;
       this.globalFrame = globalFrame;
       this.knownGlobalVariables = knownGlobalVariables;
-      this.isSkylark = isSkylark;
     }
   }
 
@@ -371,12 +366,11 @@
    */
   void enterScope(BaseFunction function, FuncallExpression caller, Frame globals) {
     continuation =
-        new Continuation(continuation, function, caller, lexicalFrame, globalFrame,
-            knownGlobalVariables, isSkylark);
+        new Continuation(
+            continuation, function, caller, lexicalFrame, globalFrame, knownGlobalVariables);
     lexicalFrame = new Frame(mutability(), null);
     globalFrame = globals;
     knownGlobalVariables = new HashSet<>();
-    isSkylark = true;
   }
 
   /**
@@ -387,7 +381,6 @@
     lexicalFrame = continuation.lexicalFrame;
     globalFrame = continuation.globalFrame;
     knownGlobalVariables = continuation.knownGlobalVariables;
-    isSkylark = continuation.isSkylark;
     continuation = continuation.continuation;
   }
 
