diff --git a/apps/config/src/main/java/org/onosproject/config/impl/DistributedDynamicConfigStore.java b/apps/config/src/main/java/org/onosproject/config/impl/DistributedDynamicConfigStore.java
index 12b84a3..c960646 100644
--- a/apps/config/src/main/java/org/onosproject/config/impl/DistributedDynamicConfigStore.java
+++ b/apps/config/src/main/java/org/onosproject/config/impl/DistributedDynamicConfigStore.java
@@ -311,14 +311,19 @@
                 DataNode.Type type = v.value();
                 String tempPath = ResourceIdParser.appendNodeKey(spath, name, nmSpc);
                 if (type == DataNode.Type.SINGLE_INSTANCE_LEAF_VALUE_NODE) {
-                    superBldr.createChildBuilder(name, nmSpc, readLeaf(tempPath).value())
+                    LeafNode lfnode = readLeaf(tempPath);
+                    // FIXME there should be builder for copying
+                    superBldr.createChildBuilder(name, nmSpc, lfnode.value(), lfnode.valueNamespace())
                             .type(type)
+                            .leafType(lfnode.leafType())
                             .exitNode();
                 } else if (type == DataNode.Type.MULTI_INSTANCE_LEAF_VALUE_NODE) {
                     String mlpath = ResourceIdParser.appendLeafList(tempPath, keyVal);
                     LeafNode lfnode = readLeaf(mlpath);
-                    superBldr.createChildBuilder(name, nmSpc, lfnode.value())
+                    // FIXME there should be builder for copying
+                    superBldr.createChildBuilder(name, nmSpc, lfnode.value(), lfnode.valueNamespace())
                             .type(type)
+                            .leafType(lfnode.leafType())
                             .addLeafListValue(lfnode.value())
                             .exitNode();
                     //TODO this alone should be sufficient and take the nm, nmspc too
