--- old/src/java.base/share/classes/jdk/internal/module/ModulePatcher.java 2016-12-15 09:19:14.598242574 +0000 +++ new/src/java.base/share/classes/jdk/internal/module/ModulePatcher.java 2016-12-15 09:19:14.469233748 +0000 @@ -149,9 +149,19 @@ // return a module reference to the patched module URI location = mref.location().orElse(null); - return JLMA.newPatchedModule(descriptor, - location, - () -> new PatchedModuleReader(paths, mref)); + + ModuleResolution mres = null; + if (mref instanceof ModuleReferenceImpl) { + mres = ((ModuleReferenceImpl)mref).moduleResolution(); + } + + return new ModuleReferenceImpl(descriptor, + location, + () -> new PatchedModuleReader(paths, mref), + this, + null, + null, + mres); }