diff -r 3081f39a3d30 -r 4a03245ffc2f src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Wed Jul 10 09:43:35 2019 +0800 +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Wed Jul 10 09:04:42 2019 +0200 @@ -1709,8 +1709,9 @@ } break; case VARDEF: - if (((JCVariableDecl)block.tree).sym == sym && - sym.owner.kind == MTH) { //only locals are captured + if ((((JCVariableDecl)block.tree).sym == sym && + sym.owner.kind == MTH) || //only locals are captured + (block.locals != null && block.locals.contains(sym))) { return currentDepth > depth ? null : block.tree; } break;