diff --git a/framework/src/main/java/org/apache/felix/framework/BundleRevisionImpl.java b/framework/src/main/java/org/apache/felix/framework/BundleRevisionImpl.java
index 2db1452..db5cb12 100644
--- a/framework/src/main/java/org/apache/felix/framework/BundleRevisionImpl.java
+++ b/framework/src/main/java/org/apache/felix/framework/BundleRevisionImpl.java
@@ -139,7 +139,7 @@
         // system bundle directly later on.
         m_manifestVersion = mp.getManifestVersion();
         m_version = mp.getBundleVersion();
-        m_declaredCaps = mp.isExtension() ? null : mp.getCapabilities();
+        m_declaredCaps = mp.isExtension() ? Collections.EMPTY_LIST : mp.getCapabilities();
         m_declaredReqs = mp.getRequirements();
         m_declaredNativeLibs = mp.getLibraries();
         m_declaredActivationPolicy = mp.getActivationPolicy();
diff --git a/framework/src/main/java/org/apache/felix/framework/BundleWiringImpl.java b/framework/src/main/java/org/apache/felix/framework/BundleWiringImpl.java
index e0f0e03..b015a4e 100644
--- a/framework/src/main/java/org/apache/felix/framework/BundleWiringImpl.java
+++ b/framework/src/main/java/org/apache/felix/framework/BundleWiringImpl.java
@@ -182,9 +182,8 @@
         m_fragments = fragments;
         m_fragmentContents = fragmentContents;
 
-        List<BundleCapability> capList = (m_revision.getDeclaredCapabilities(null) == null)
-            ? new ArrayList<BundleCapability>()
-            : new ArrayList<BundleCapability>(m_revision.getDeclaredCapabilities(null));
+        List<BundleCapability> capList =
+            new ArrayList<BundleCapability>(m_revision.getDeclaredCapabilities(null));
         for (int fragIdx = 0;
             (m_fragments != null) && (fragIdx < m_fragments.size());
             fragIdx++)
@@ -204,8 +203,8 @@
         }
         m_resolvedCaps = Collections.unmodifiableList(capList);
 
-        List<BundleRequirement> reqList = (m_revision.getDeclaredRequirements(null) == null)
-            ? new ArrayList() : new ArrayList(m_revision.getDeclaredRequirements(null));
+        List<BundleRequirement> reqList =
+            new ArrayList(m_revision.getDeclaredRequirements(null));
         for (int fragIdx = 0;
             (m_fragments != null) && (fragIdx < m_fragments.size());
             fragIdx++)
