Index: src/org/python/core/BytecodeLoader2.java =================================================================== --- src/org/python/core/BytecodeLoader2.java (revision 2759) +++ src/org/python/core/BytecodeLoader2.java (working copy) @@ -11,6 +11,11 @@ class BytecodeLoader2 extends SecureClassLoader implements Loader { private Vector parents; + public BytecodeLoader2(ClassLoader parent) { + super(parent); + this.parents = BytecodeLoader.init(); + } + public BytecodeLoader2() { this.parents = BytecodeLoader.init(); } Index: src/org/python/core/BytecodeLoader.java =================================================================== --- src/org/python/core/BytecodeLoader.java (revision 2759) +++ src/org/python/core/BytecodeLoader.java (working copy) @@ -2,6 +2,7 @@ package org.python.core; +import java.lang.reflect.Constructor; import java.util.Vector; /** @@ -57,7 +58,15 @@ } } try { - return (Loader) loaderClass.newInstance(); + Loader loader; + if(Py.defaultSystemState.getClassLoader() != null){ + Constructor loaderWithParentConstructor = loaderClass.getConstructor(new Class[]{ClassLoader.class}); + loader = (Loader) loaderWithParentConstructor.newInstance(new Object[]{Py.defaultSystemState.getClassLoader()}); + }else{ + loader = (Loader) loaderClass.newInstance(); + } + + return loader; } catch (Exception e) { return new BytecodeLoader1(); }