Bug 361249 - BundleContext Stub does not remove services
diff --git a/org.eclipse.virgo.teststubs.osgi/src/main/java/org/eclipse/virgo/teststubs/osgi/framework/StubBundleContext.java b/org.eclipse.virgo.teststubs.osgi/src/main/java/org/eclipse/virgo/teststubs/osgi/framework/StubBundleContext.java
index 78da1cd..8dbc1ce 100644
--- a/org.eclipse.virgo.teststubs.osgi/src/main/java/org/eclipse/virgo/teststubs/osgi/framework/StubBundleContext.java
+++ b/org.eclipse.virgo.teststubs.osgi/src/main/java/org/eclipse/virgo/teststubs/osgi/framework/StubBundleContext.java
@@ -437,9 +437,11 @@
     public StubBundleContext removeRegisteredService(ServiceRegistration<?>... serviceRegistrations) {
         synchronized (this.servicesMonitor) {
             this.serviceRegistrations.removeAll(Arrays.asList(serviceRegistrations));
+            for (ServiceRegistration registration: serviceRegistrations) {
+                this.services.remove(registration.getReference());
+            }
             return this;
         }
-
     }
 
     /**
diff --git a/org.eclipse.virgo.teststubs.osgi/src/test/java/org/eclipse/virgo/teststubs/osgi/framework/StubBundleContextTests.java b/org.eclipse.virgo.teststubs.osgi/src/test/java/org/eclipse/virgo/teststubs/osgi/framework/StubBundleContextTests.java
index 6b69aa2..320f35c 100644
--- a/org.eclipse.virgo.teststubs.osgi/src/test/java/org/eclipse/virgo/teststubs/osgi/framework/StubBundleContextTests.java
+++ b/org.eclipse.virgo.teststubs.osgi/src/test/java/org/eclipse/virgo/teststubs/osgi/framework/StubBundleContextTests.java
@@ -186,6 +186,7 @@
         ServiceReference<Object> reference = serviceRegistration.getReference();
         serviceRegistration.unregister();
         assertNull(this.bundleContext.getService(reference));
+        assertNull(this.bundleContext.getServiceReference(Object.class.getName()));
     }
 
     @Test