@@ -701,11 +701,11 @@ } final ScriptFunction func = getProgramFunction(clazz, scope); Object evalThis; if (directEval) { - evalThis = callThis instanceof ScriptObject || strictFlag ? callThis : global; + evalThis = (callThis != UNDEFINED && callThis != null) || strictFlag ? callThis : global; } else { evalThis = global; } return ScriptRuntime.apply(func, evalThis);