diff --git a/framework/src/main/java/org/apache/felix/framework/FindEntriesEnumeration.java b/framework/src/main/java/org/apache/felix/framework/FindEntriesEnumeration.java
index c95acf9..06736f5 100644
--- a/framework/src/main/java/org/apache/felix/framework/FindEntriesEnumeration.java
+++ b/framework/src/main/java/org/apache/felix/framework/FindEntriesEnumeration.java
@@ -35,7 +35,7 @@
         m_bundle = bundle;
         m_path = path;
         m_enumeration = (m_bundle.getCurrentModule().getContent() == null)
-            ? null : m_bundle.getCurrentModule().getContent().getEntries();
+            ? null : ((ModuleImpl) m_bundle.getCurrentModule()).getEntries();
         m_recurse = recurse;
 
         // Sanity check the parameters.
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 e815250..bb20bb3 100644
--- a/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java
+++ b/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java
@@ -36,6 +36,7 @@
 import java.util.Arrays;
 import java.util.Enumeration;
 
+import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -427,6 +428,20 @@
         return m_content;
     }
 
+    synchronized Enumeration getEntries()
+    {
+        Enumeration[] ens =
+            new Enumeration[(m_fragmentContents == null)
+                ? 1
+                : m_fragmentContents.length + 1];
+        ens[0] = m_content.getEntries();
+        for (int i = 1; i < ens.length; i++)
+        {
+            ens[i] = m_fragmentContents[i - 1].getEntries();
+        }
+        return new CompoundEnumeration(ens);
+    }
+
     private synchronized IContent[] getContentPath()
     {
         if (m_contentPath == null)
@@ -1058,6 +1073,7 @@
         }
     }
 
+    // This must be called holding the object lock.
     private void attachFragmentContents(IContent[] fragmentContents)
         throws Exception
     {
