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 84964d3..7e184cc 100644
--- a/framework/src/main/java/org/apache/felix/framework/BundleRevisionImpl.java
+++ b/framework/src/main/java/org/apache/felix/framework/BundleRevisionImpl.java
@@ -310,16 +310,6 @@
         return m_protectionDomain;
     }
 
-    // TODO: FRAGMENT RESOLVER - Technically, this is only necessary for fragments.
-    //       When we refactoring for the new R4.3 framework API, we'll have to see
-    //       if this is still necessary, since the new BundleWirings API will give
-    //       us another way to detect it.
-    public boolean isRemovalPending()
-    {
-        return (m_bundle.getState() == Bundle.UNINSTALLED)
-            || (this != m_bundle.adapt(BundleRevision.class));
-    }
-
     //
     // Content access methods.
     //
diff --git a/framework/src/main/java/org/apache/felix/framework/resolver/Candidates.java b/framework/src/main/java/org/apache/felix/framework/resolver/Candidates.java
index 76e8e18..4e4ccda 100644
--- a/framework/src/main/java/org/apache/felix/framework/resolver/Candidates.java
+++ b/framework/src/main/java/org/apache/felix/framework/resolver/Candidates.java
@@ -741,9 +741,13 @@
                     for (BundleRequirement hostReq : versionEntry.getValue())
                     {
                         // Select the highest version of the fragment that
-                        // is not removal pending.
-                        if (isFirst
-                            && !((BundleRevisionImpl) hostReq.getRevision()).isRemovalPending())
+                        // is not removal pending. If the fragment revision
+                        // is removal pending, then its current revision will
+                        // be null or won't match the existing revision.
+                        BundleRevision currentFragmentRevision =
+                            hostReq.getRevision().getBundle()
+                                .adapt(BundleRevision.class);
+                        if (isFirst && (currentFragmentRevision == hostReq.getRevision()))
                         {
                             selectedFragments.add(hostReq.getRevision());
                             isFirst = false;
