--- old/src/java.base/share/classes/sun/launcher/LauncherHelper.java 2016-06-30 22:03:30.000000000 -0700 +++ new/src/java.base/share/classes/sun/launcher/LauncherHelper.java 2016-06-30 22:03:29.000000000 -0700 @@ -584,15 +584,17 @@ Class mainClass = null; ClassLoader scl = ClassLoader.getSystemClassLoader(); try { - mainClass = scl.loadClass(cn); + mainClass = Class.forName(cn, false, scl); } catch (NoClassDefFoundError | ClassNotFoundException cnfe) { if (System.getProperty("os.name", "").contains("OS X") && Normalizer.isNormalized(cn, Normalizer.Form.NFD)) { try { - // On Mac OS X since all names with diacretic symbols are given as decomposed it - // is possible that main class name comes incorrectly from the command line - // and we have to re-compose it - mainClass = scl.loadClass(Normalizer.normalize(cn, Normalizer.Form.NFC)); + // On Mac OS X since all names with diacretic symbols are + // given as decomposed it is possible that main class name + // comes incorrectly from the command line and we have + // to re-compose it + String ncn = Normalizer.normalize(cn, Normalizer.Form.NFC); + mainClass = Class.forName(ncn, false, scl); } catch (NoClassDefFoundError | ClassNotFoundException cnfe1) { abort(cnfe, "java.launcher.cls.error1", cn); }