diff --git a/scr/src/main/java/org/apache/felix/scr/impl/AbstractComponentManager.java b/scr/src/main/java/org/apache/felix/scr/impl/AbstractComponentManager.java
index fa9e043..1431d4c 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/AbstractComponentManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/AbstractComponentManager.java
@@ -148,7 +148,7 @@
     public final void reconfigure()
     {
         log( LogService.LOG_DEBUG, "Deactivating and Activating to reconfigure", m_componentMetadata, null );
-        reactivate();
+        reactivateAsynchronous();
     }
 
 
@@ -164,7 +164,7 @@
     {
         // synchronously deactivate and schedule activation asynchronously
         deactivate();
-
+        
         getActivator().schedule( new Runnable()
         {
             public void run()
@@ -173,6 +173,26 @@
             }
         } );
     }
+    
+    
+    /**
+     * Cycles this component by deactivating it and - if still satisfied -
+     * activating it again asynchronously.
+     * <p>
+     * This method schedules the deactivation and reactivation for asynchronous
+     * execution.
+     */
+    public final void reactivateAsynchronous()
+    {
+        getActivator().schedule( new Runnable()
+        {
+            public void run()
+            {
+                deactivateInternal();
+                activateInternal();
+            }
+        } );
+    }
 
 
     /**
@@ -739,7 +759,7 @@
         {
             if ( serviceRegistrationLockOwner != null )
             {
-                log( LogService.LOG_INFO, "Waiting for Service Registration owned " + serviceRegistrationLockOwner,
+                log( LogService.LOG_INFO, "Waiting for Service Registration owned by " + serviceRegistrationLockOwner,
                     m_componentMetadata, null );
 
                 int waitGuard = 10;
@@ -764,6 +784,7 @@
                         + serviceRegistrationLockOwner );
                 }
 
+                log( LogService.LOG_INFO, "Service Registration is now ready", m_componentMetadata, null );
             }
 
             serviceRegistrationLockOwner = Thread.currentThread();
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/ImmediateComponentManager.java b/scr/src/main/java/org/apache/felix/scr/impl/ImmediateComponentManager.java
index b2875aa..103e319 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/ImmediateComponentManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/ImmediateComponentManager.java
@@ -392,7 +392,7 @@
         {
             log( LogService.LOG_DEBUG, "Deactivating and Activating to reconfigure from configuration",
                 getComponentMetadata(), null );
-            reactivate();
+            reactivateAsynchronous();
         }
     }
 }
