diff --git a/configurator/pom.xml b/configurator/pom.xml
index da59ea0..64005b8 100644
--- a/configurator/pom.xml
+++ b/configurator/pom.xml
@@ -111,7 +111,7 @@
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.cm.json</artifactId>
-            <version>1.0.0</version>
+            <version>1.0.6</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/configurator/src/main/java/org/apache/felix/configurator/impl/model/Config.java b/configurator/src/main/java/org/apache/felix/configurator/impl/model/Config.java
index 30fa956..2e8c634 100644
--- a/configurator/src/main/java/org/apache/felix/configurator/impl/model/Config.java
+++ b/configurator/src/main/java/org/apache/felix/configurator/impl/model/Config.java
@@ -22,6 +22,8 @@
 import java.io.IOException;
 import java.io.Serializable;
 import java.util.Dictionary;
+import java.util.Enumeration;
+import java.util.Hashtable;
 import java.util.List;
 
 public class Config implements Serializable, Comparable<Config> {
@@ -62,7 +64,7 @@
         this.pid = pid;
         this.ranking = ranking;
         this.bundleId = bundleId;
-        this.properties = properties;
+        this.properties = this.getPrivateCopyOf(properties);
         this.policy = policy;
     }
 
@@ -87,6 +89,22 @@
     }
 
     /**
+     * Copy given Dictionary
+     */
+    private Dictionary<String, Object> getPrivateCopyOf(final Dictionary<String, Object> input) {
+        if ( input == null ) {
+            return null;
+        }
+
+        final Dictionary<String, Object> result = new Hashtable<>();
+        final Enumeration<String> e = input.keys();
+        while(e.hasMoreElements()) {
+            final String key = e.nextElement();
+            result.put(key, input.get(key));
+        }
+        return result;
+    }
+    /**
      * Deserialize the object
      * - read version id
      * - deserialize fields
