--- old/src/java.base/share/classes/java/lang/reflect/Method.java 2016-10-18 13:06:43.881942546 +0200 +++ new/src/java.base/share/classes/java/lang/reflect/Method.java 2016-10-18 13:06:43.795942008 +0200 @@ -526,7 +526,9 @@ { if (!override) { Class caller = Reflection.getCallerClass(); - checkAccess(caller, clazz, obj, modifiers); + checkAccess(caller, clazz, + Modifier.isStatic(modifiers) ? null : obj.getClass(), + modifiers); } MethodAccessor ma = methodAccessor; // read volatile if (ma == null) {