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 18bd4b4..489d42d 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
@@ -1105,20 +1105,20 @@
             final ConfigurationException ce = ( ConfigurationException ) error;
             if ( ce.getProperty() != null )
             {
-                log( LogService.LOG_ERROR, "{0}: Updating configuration property {1} caused a problem: {2}",
+                log( LogService.LOG_ERROR, "{0}: Updating property {1} of configuration {2} caused a problem: {3}",
                     new Object[]
-                        { toString( target ), ce.getProperty(), ce.getReason(), ce } );
+                        { toString( target ), ce.getProperty(), config.getPid(), ce.getReason(), ce } );
             }
             else
             {
-                log( LogService.LOG_ERROR, "{0}: Updating configuration caused a problem: {1}", new Object[]
-                    { toString( target ), ce.getReason(), ce } );
+                log( LogService.LOG_ERROR, "{0}: Updating configuration {1} caused a problem: {2}", new Object[]
+                    { toString( target ), config.getPid(), ce.getReason(), ce } );
             }
         }
         else
         {
             {
-                log( LogService.LOG_ERROR, "{0}: Unexpected problem updating {1}", new Object[]
+                log( LogService.LOG_ERROR, "{0}: Unexpected problem updating configuration {1}", new Object[]
                     { toString( target ), config, error } );
             }
 
