diff --git a/framework/src/main/java/org/apache/felix/framework/Felix.java b/framework/src/main/java/org/apache/felix/framework/Felix.java
index 371356c..62690f0 100644
--- a/framework/src/main/java/org/apache/felix/framework/Felix.java
+++ b/framework/src/main/java/org/apache/felix/framework/Felix.java
@@ -33,6 +33,7 @@
 import org.apache.felix.framework.util.manifestparser.*;
 import org.apache.felix.moduleloader.*;
 import org.osgi.framework.*;
+import org.osgi.framework.BundleReference;
 import org.osgi.framework.hooks.service.*;
 import org.osgi.service.packageadmin.ExportedPackage;
 import org.osgi.service.startlevel.StartLevel;
@@ -2938,13 +2939,13 @@
     **/
     Bundle getBundle(Class clazz)
     {
-        if (clazz.getClassLoader() instanceof ModuleClassLoader)
+        if (clazz.getClassLoader() instanceof BundleReference)
         {
             // Only return the bundle if it is from this framework.
-            ModuleImpl module = (ModuleImpl)
-                ((ModuleClassLoader) clazz.getClassLoader()).getModule();
-            return (((BundleImpl) module.getBundle()).getFramework() == this)
-                ? module.getBundle() : null;
+            BundleReference br = (BundleReference) clazz.getClassLoader();
+            return ((br.getBundle() instanceof BundleImpl)
+                && (((BundleImpl) br.getBundle()).getFramework() == this))
+                    ? br.getBundle() : null;
         }
         try
         {
diff --git a/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java b/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java
index 3085f76..d07390f 100644
--- a/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java
+++ b/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java
@@ -1596,11 +1596,6 @@
             return ModuleImpl.this.getBundle();
         }
 
-        IModule getModule()
-        {
-            return ModuleImpl.this;
-        }
-
         protected Class loadClass(String name, boolean resolve)
             throws ClassNotFoundException
         {
