diff -r 8c3890c90147 -r e74dd6df4d4c src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java --- a/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Wed Mar 02 18:33:38 2016 +0530 +++ b/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Tue Mar 29 10:48:49 2016 +0000 @@ -860,7 +860,7 @@ private JCExpression makeReceiver(VarSymbol rcvr) { if (rcvr == null) return null; JCExpression rcvrExpr = make.Ident(rcvr); - Type rcvrType = tree.sym.enclClass().type; + Type rcvrType = tree.ownerAccessible ? tree.sym.enclClass().type : tree.expr.type; if (rcvrType == syms.arrayClass.type) { // Map the receiver type to the actually type, not just "array" rcvrType = tree.getQualifierExpression().type;