diff --git a/framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java b/framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java
index 32494e2..46c880b 100644
--- a/framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java
+++ b/framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java
@@ -155,13 +155,21 @@
         }
 
         // Now forcibly unget the service object for all stubborn clients.
-        Bundle[] clients = getUsingBundles(reg.getReference());
+        ServiceReference ref = reg.getReference();
+        Bundle[] clients = getUsingBundles(ref);
         for (int i = 0; (clients != null) && (i < clients.length); i++)
         {
             while (ungetService(clients[i], reg.getReference()))
                 ; // Keep removing until it is no longer possible
         }
+        // Invalidate registration
         ((ServiceRegistrationImpl) reg).invalidate();
+        // Bundles are allowed to get a reference while unregistering
+        for (int i = 0; (clients != null) && (i < clients.length); i++)
+        {
+            while (ungetService(clients[i], ref))
+                ; // Keep removing until it is no longer possible
+        }
     }
 
     /**
