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 c960646..12b84a3 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,19 +311,14 @@
                 DataNode.Type type = v.value();
                 String tempPath = ResourceIdParser.appendNodeKey(spath, name, nmSpc);
                 if (type == DataNode.Type.SINGLE_INSTANCE_LEAF_VALUE_NODE) {
-                    LeafNode lfnode = readLeaf(tempPath);
-                    // FIXME there should be builder for copying
-                    superBldr.createChildBuilder(name, nmSpc, lfnode.value(), lfnode.valueNamespace())
+                    superBldr.createChildBuilder(name, nmSpc, readLeaf(tempPath).value())
                             .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);
-                    // FIXME there should be builder for copying
-                    superBldr.createChildBuilder(name, nmSpc, lfnode.value(), lfnode.valueNamespace())
+                    superBldr.createChildBuilder(name, nmSpc, lfnode.value())
                             .type(type)
-                            .leafType(lfnode.leafType())
                             .addLeafListValue(lfnode.value())
                             .exitNode();
                     //TODO this alone should be sufficient and take the nm, nmspc too
