diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigAdminSupport.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigAdminSupport.java
index bd1aa3c..272a3af 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigAdminSupport.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigAdminSupport.java
@@ -287,18 +287,19 @@
                     }
                 }
             }
-            
+
             // remove the properties that are not specified in the request
+            final Dictionary updateProps = new Hashtable(props.size());
             for ( Enumeration e = props.keys(); e.hasMoreElements(); )
             {
                 final Object key = e.nextElement();
-                if ( !propsToKeep.contains(key) )
+                if ( propsToKeep.contains(key) )
                 {
-                    props.remove(key);
+                    updateProps.put(key, props.get(key));
                 }
             }
 
-            config.update( props );
+            config.update( updateProps );
         }
 
         // redirect to the new configuration (if existing)
