diff --git a/org.apache.felix.framework/src/main/java/org/apache/felix/framework/ServiceRegistrationImpl.java b/org.apache.felix.framework/src/main/java/org/apache/felix/framework/ServiceRegistrationImpl.java
index b10b595..5f52889 100644
--- a/org.apache.felix.framework/src/main/java/org/apache/felix/framework/ServiceRegistrationImpl.java
+++ b/org.apache.felix.framework/src/main/java/org/apache/felix/framework/ServiceRegistrationImpl.java
@@ -91,9 +91,12 @@
 
     public void unregister()
     {
-        m_registry.unregisterService(m_bundle, this);
-        m_svcObj = null;
-        m_factory = null;
+        if (m_svcObj != null)
+        {
+            m_registry.unregisterService(m_bundle, this);
+            m_svcObj = null;
+            m_factory = null;
+        }
     }
 
     //
diff --git a/org.apache.felix.framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java b/org.apache.felix.framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java
index 539d994..e53b932 100644
--- a/org.apache.felix.framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java
+++ b/org.apache.felix.framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java
@@ -77,9 +77,16 @@
             ServiceRegistration[] regs = (ServiceRegistration[]) m_serviceRegsMap.get(bundle);
             m_serviceRegsMap.put(bundle, removeServiceRegistration(regs, reg));
         }
+
         fireServiceChanged(new ServiceEvent(ServiceEvent.UNREGISTERING, reg.getReference()));
     }
 
+    /**
+     * This method retrieves all services registrations for the specified
+     * bundle and invokes <tt>ServiceRegistration.unregister()</tt> on each
+     * one.
+     * @param bundle the bundle whose services should be unregistered.
+    **/
     public void unregisterServices(Bundle bundle)
     {
         // Simply remove all service registrations for the bundle.
@@ -87,14 +94,12 @@
         synchronized (this)
         {
             regs = (ServiceRegistration[]) m_serviceRegsMap.get(bundle);
-            m_serviceRegsMap.remove(bundle);
         }
 
-        // Fire all events outside of synchronized block.
+        // Unregister each service.
         for (int i = 0; (regs != null) && (i < regs.length); i++)
         {
-            fireServiceChanged(
-                new ServiceEvent(ServiceEvent.UNREGISTERING, regs[i].getReference()));
+            regs[i].unregister();
         }
     }
 
