--- old/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java 2015-06-05 22:00:31.128799446 +0530 +++ new/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java 2015-06-05 22:00:30.644797045 +0530 @@ -2668,8 +2668,12 @@ name = getIdent(); verifyStrictIdent(name, "function name"); } else if (isStatement) { - // Nashorn extension: anonymous function statements - if (env._no_syntax_extensions) { + // Nashorn extension: anonymous function statements. + // Do not allow anonymous function statement if extensions + // are now allowed. But if we are reparsing then anon function + // statement is possible - because it was used as function + // expression in surrounding code. + if (env._no_syntax_extensions && reparsedFunction == null) { expect(IDENT); } }