diff --git a/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java b/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java
index 38afd65..33d6eb4 100644
--- a/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java
+++ b/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java
@@ -510,7 +510,7 @@
             for ( String candidate : names )
             {
                 ConfigurationImpl config = getConfiguration( candidate );
-                if ( config != null )
+                if ( config != null && !config.isDeleted() )
                 {
                     // check visibility to use and dynamically bind
                     if ( canReceive( serviceBundle, config.getBundleLocation() ) )
@@ -1612,14 +1612,14 @@
                         final TargetedPID configPid;
                         final Dictionary properties;
                         final long revision;
-                        synchronized ( config )
+                        synchronized ( rc )
                         {
-                            configPid = config.getPid();
-                            properties = config.getProperties( true );
-                            revision = config.getRevision();
+                            configPid = rc.getPid();
+                            properties = rc.getProperties( true );
+                            revision = rc.getRevision();
                         }
 
-                        helper.provideConfiguration( sr, configPid, null, properties, revision );
+                        helper.provideConfiguration( sr, configPid, null, properties, -revision );
 
                         return true;
                     }
diff --git a/configadmin/src/main/java/org/apache/felix/cm/impl/helper/TargetedPID.java b/configadmin/src/main/java/org/apache/felix/cm/impl/helper/TargetedPID.java
index 06dfdb7..6e00547 100644
--- a/configadmin/src/main/java/org/apache/felix/cm/impl/helper/TargetedPID.java
+++ b/configadmin/src/main/java/org/apache/felix/cm/impl/helper/TargetedPID.java
@@ -208,8 +208,8 @@
 
 
     /**
-     * Returns <code>true</code> if the <code>other</code> {@link TargetedPID}
-     * binds stronger than this.
+     * Returns <code>true</code> if this targeted PID binds stronger than
+     * the <code>other</code> {@link TargetedPID}.
      * <p>
      * This method assumes both targeted PIDs have already been checked for
      * suitability for the bundle encoded in the targetting.
@@ -221,7 +221,7 @@
      */
     boolean bindsStronger( final TargetedPID other )
     {
-        return other.bindingLevel > this.bindingLevel;
+        return this.bindingLevel > other.bindingLevel;
     }
 
 
