diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/DefaultYangCodecHandler.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/DefaultYangCodecHandler.java
index 3e990be..266b391 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/DefaultYangCodecHandler.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/DefaultYangCodecHandler.java
@@ -205,7 +205,6 @@
         if (ydtBuilder != null) {
             return getObjectList(ydtBuilder.getRootNode());
         }
-
         return null;
     }
 
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/DefaultXmlCodecWalker.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/DefaultXmlCodecWalker.java
index b5a9ea2..11a14ff 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/DefaultXmlCodecWalker.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/DefaultXmlCodecWalker.java
@@ -35,7 +35,10 @@
     public void walk(XmlListener listener, Element element,
                      Element rootElement) {
         try {
-            listener.enterXmlElement(element, getElementType(element),
+            Element newElement = element.createCopy();
+            newElement.remove(element.getNamespace());
+
+            listener.enterXmlElement(element, getElementType(newElement),
                                      rootElement);
 
             if (element.hasContent() && !element.isTextOnly()) {
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecListener.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecListener.java
index 1c6536a..eefc60f 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecListener.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ych/defaultcodecs/xml/XmlCodecListener.java
@@ -37,6 +37,8 @@
      */
     private YdtExtendedBuilder ydtExtBuilder;
 
+    private String prevNodeNamespace;
+
     /**
      * Sets the YANG data tree builder object.
      *
@@ -69,21 +71,42 @@
             nameSpace = element.getNamespace().getURI();
         }
 
+        /*
+         * When new module has to be added, and if curnode has reference of
+         * previous module, then we need to traverse back to parent(logical root
+         * node).
+         */
+        if (ydtExtBuilder.getRootNode() == ydtExtBuilder.getCurNode()
+                .getParent() && prevNodeNamespace != null &&
+                !prevNodeNamespace.equals(nameSpace)) {
+            ydtExtBuilder.traverseToParent();
+        }
+
         if (nodeType == OBJECT_NODE && element.content() == null || element
                 .content().isEmpty()) {
             nodeType = TEXT_NODE;
         }
         if (nodeType == OBJECT_NODE) {
             if (ydtExtBuilder != null) {
+                if (ydtExtBuilder.getCurNode() == ydtExtBuilder.getRootNode()) {
+                    ydtExtBuilder.addChild(null, nameSpace, opType);
+                }
                 ydtExtBuilder.addChild(element.getName(), nameSpace, opType);
             }
         } else if (nodeType == TEXT_NODE) {
 
             if (ydtExtBuilder != null) {
+                if (ydtExtBuilder.getCurNode() == ydtExtBuilder.getRootNode()) {
+                    ydtExtBuilder.addChild(null, nameSpace, opType);
+                }
                 ydtExtBuilder.addLeaf(element.getName(), nameSpace,
                                       element.getText());
             }
         }
+
+        if (nameSpace != null) {
+            prevNodeNamespace = nameSpace;
+        }
     }
 
     @Override
diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YangRequestWorkBench.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YangRequestWorkBench.java
index 75e00f2..cd37eea 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YangRequestWorkBench.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ydt/YangRequestWorkBench.java
@@ -317,6 +317,20 @@
         boolean contextSwitch = false;
         YangSchemaNode augmentingSchema = null;
         YangSchemaNodeIdentifier id = getNodeIdentifier(name, namespace);
+        if (name == null) {
+            if (!curNode.equals(rootNode)) {
+                throw new YdtException("Name is null for node other than module");
+            }
+
+            /*
+             * Since XML will not have module name, id.name will be null. In
+             * that case get schema node by using namespace. In NBI flow,
+             * name will never be null.
+             */
+            YangSchemaNode node = registry
+                    .getSchemaWrtNameSpace(id.getNameSpace().getModuleNamespace());
+            id.setName(node.getName());
+        }
 
         try {
             // Module/sub-module node handler.
diff --git a/apps/yms/ut/src/test/java/org/onosproject/yms/app/ych/DefaultYangCodecHandlerTest.java b/apps/yms/ut/src/test/java/org/onosproject/yms/app/ych/DefaultYangCodecHandlerTest.java
index dea5877..7cb5a9c 100644
--- a/apps/yms/ut/src/test/java/org/onosproject/yms/app/ych/DefaultYangCodecHandlerTest.java
+++ b/apps/yms/ut/src/test/java/org/onosproject/yms/app/ych/DefaultYangCodecHandlerTest.java
@@ -973,54 +973,6 @@
 
     /**
      * Unit test case in which verifying object for xml string with config as
-     * root name and empty container.
-     */
-    @Test
-    public void proceessCodecDecodeFunctionForEmptyContainer() {
-        String path = "src/test/resources/ychTestResourceFiles/getconfigemptycontainer.xml";
-        StringBuilder sb = new StringBuilder();
-        String sCurrentLine;
-        testYangSchemaNodeProvider.processSchemaRegistry(null);
-        DefaultYangSchemaRegistry schemaRegistry =
-                testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
-
-        YangCodecRegistry.initializeDefaultCodec();
-        DefaultYangCodecHandler defaultYangCodecHandler =
-                new DefaultYangCodecHandler(schemaRegistry);
-
-        try (BufferedReader br = new BufferedReader(new FileReader(path))) {
-
-            while ((sCurrentLine = br.readLine()) != null) {
-                sb.append(sCurrentLine);
-            }
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-
-        // Verify the received object list
-        List<Object> objectList =
-                defaultYangCodecHandler.decode(sb.toString(),
-                                               XML, QUERY_CONFIG_REQUEST);
-        Iterator<Object> iterator = objectList.iterator();
-        while (iterator.hasNext()) {
-            Object object = iterator.next();
-            if (object.getClass().getSimpleName()
-                    .equals(EMPTY_CONTAINER)) {
-                EmptyContainerOpParam emptyContainerOpParam =
-                        (EmptyContainerOpParam) object;
-                assertNull(AM_OBJ + "empty-container: container value is not" +
-                                   "null",
-                           emptyContainerOpParam.emptyContainer());
-            } else {
-                assertEquals(AM_OBJ, EMPTY_CONTAINER, object
-                        .getClass().getSimpleName());
-            }
-        }
-    }
-
-
-    /**
-     * Unit test case in which verifying object for xml string with config as
      * root name and multiple module.
      */
     @Test
diff --git a/apps/yms/ut/src/test/resources/ychTestResourceFiles/combinedrootname.xml b/apps/yms/ut/src/test/resources/ychTestResourceFiles/combinedrootname.xml
index 1997f3d..04078f1 100644
--- a/apps/yms/ut/src/test/resources/ychTestResourceFiles/combinedrootname.xml
+++ b/apps/yms/ut/src/test/resources/ychTestResourceFiles/combinedrootname.xml
@@ -5,94 +5,92 @@
             <running/>
         </target>
         <filter xmlns="ydt.filter-type" type="subtree">
-            <Combined xmlns="ych:combined">
-                <attributes>
-                    <origin>
-                        <value>123</value>
-                    </origin>
-                    <multi-exit-disc>
-                        <med>456</med>
-                    </multi-exit-disc>
-                    <local-pref>
-                        <pref>23</pref>
-                    </local-pref>
-                    <aigp>
-                        <aigp-tlv>
-                            <metric>456</metric>
-                        </aigp-tlv>
-                    </aigp>
-                    <unrecognized-attributes>
-                        <partial>false</partial>
-                        <transitive>false</transitive>
-                        <type>1</type>
-                        <value>QUJD</value>
-                    </unrecognized-attributes>
-                    <unrecognized-attributes>
-                        <partial>true</partial>
-                        <transitive>true</transitive>
-                        <type>2</type>
-                        <value>QUJD</value>
-                    </unrecognized-attributes>
-                    <unrecognized-attributes>
-                        <partial>true</partial>
-                        <transitive>false</transitive>
-                        <type>3</type>
-                        <value>QUJD</value>
-                    </unrecognized-attributes>
-                    <unrecognized-attributes>
-                        <partial>false</partial>
-                        <transitive>true</transitive>
-                        <type>4</type>
-                        <value>QUJD</value>
-                    </unrecognized-attributes>
-                    <bgp-parameters>
-                        <optional-capabilities>
-                            <c-parameters>
-                                <as4-bytes-capability>
-                                    <as-number>11</as-number>
-                                </as4-bytes-capability>
-                            </c-parameters>
-                        </optional-capabilities>
-                        <optional-capabilities>
-                            <c-parameters>
-                                <as4-bytes-capability>
-                                    <as-number>22</as-number>
-                                </as4-bytes-capability>
-                            </c-parameters>
-                        </optional-capabilities>
-                        <optional-capabilities>
-                            <c-parameters>
-                                <as4-bytes-capability>
-                                    <as-number>33</as-number>
-                                </as4-bytes-capability>
-                            </c-parameters>
-                        </optional-capabilities>
-                    </bgp-parameters>
-                    <bgp-parameters>
-                        <optional-capabilities>
-                            <c-parameters>
-                                <as4-bytes-capability>
-                                    <as-number>33</as-number>
-                                </as4-bytes-capability>
-                            </c-parameters>
-                        </optional-capabilities>
-                        <optional-capabilities>
-                            <c-parameters>
-                                <as4-bytes-capability>
-                                    <as-number>33</as-number>
-                                </as4-bytes-capability>
-                            </c-parameters>
-                        </optional-capabilities>
-                        <optional-capabilities>
-                            <c-parameters>
-                                <as4-bytes-capability>
-                                    <as-number>33</as-number>
-                                </as4-bytes-capability>
-                            </c-parameters>
-                        </optional-capabilities>
-                    </bgp-parameters>
-                </attributes>
-            </Combined>
+            <attributes xmlns="ych:combined">
+                <origin>
+                    <value>123</value>
+                </origin>
+                <multi-exit-disc>
+                    <med>456</med>
+                </multi-exit-disc>
+                <local-pref>
+                    <pref>23</pref>
+                </local-pref>
+                <aigp>
+                    <aigp-tlv>
+                        <metric>456</metric>
+                    </aigp-tlv>
+                </aigp>
+                <unrecognized-attributes>
+                    <partial>false</partial>
+                    <transitive>false</transitive>
+                    <type>1</type>
+                    <value>QUJD</value>
+                </unrecognized-attributes>
+                <unrecognized-attributes>
+                    <partial>true</partial>
+                    <transitive>true</transitive>
+                    <type>2</type>
+                    <value>QUJD</value>
+                </unrecognized-attributes>
+                <unrecognized-attributes>
+                    <partial>true</partial>
+                    <transitive>false</transitive>
+                    <type>3</type>
+                    <value>QUJD</value>
+                </unrecognized-attributes>
+                <unrecognized-attributes>
+                    <partial>false</partial>
+                    <transitive>true</transitive>
+                    <type>4</type>
+                    <value>QUJD</value>
+                </unrecognized-attributes>
+                <bgp-parameters>
+                    <optional-capabilities>
+                        <c-parameters>
+                            <as4-bytes-capability>
+                                <as-number>11</as-number>
+                            </as4-bytes-capability>
+                        </c-parameters>
+                    </optional-capabilities>
+                    <optional-capabilities>
+                        <c-parameters>
+                            <as4-bytes-capability>
+                                <as-number>22</as-number>
+                            </as4-bytes-capability>
+                        </c-parameters>
+                    </optional-capabilities>
+                    <optional-capabilities>
+                        <c-parameters>
+                            <as4-bytes-capability>
+                                <as-number>33</as-number>
+                            </as4-bytes-capability>
+                        </c-parameters>
+                    </optional-capabilities>
+                </bgp-parameters>
+                <bgp-parameters>
+                    <optional-capabilities>
+                        <c-parameters>
+                            <as4-bytes-capability>
+                                <as-number>33</as-number>
+                            </as4-bytes-capability>
+                        </c-parameters>
+                    </optional-capabilities>
+                    <optional-capabilities>
+                        <c-parameters>
+                            <as4-bytes-capability>
+                                <as-number>33</as-number>
+                            </as4-bytes-capability>
+                        </c-parameters>
+                    </optional-capabilities>
+                    <optional-capabilities>
+                        <c-parameters>
+                            <as4-bytes-capability>
+                                <as-number>33</as-number>
+                            </as4-bytes-capability>
+                        </c-parameters>
+                    </optional-capabilities>
+                </bgp-parameters>
+            </attributes>
         </filter>
     </edit-config>
 </rpc>
\ No newline at end of file
diff --git a/apps/yms/ut/src/test/resources/ychTestResourceFiles/configrootname.xml b/apps/yms/ut/src/test/resources/ychTestResourceFiles/configrootname.xml
index c8509f1..64c25aa 100644
--- a/apps/yms/ut/src/test/resources/ychTestResourceFiles/configrootname.xml
+++ b/apps/yms/ut/src/test/resources/ychTestResourceFiles/configrootname.xml
@@ -4,17 +4,13 @@
         <target>
             <running/>
         </target>
-        <config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
-            <Logistics-manager xmlns="ydt.root">
-                <Customs-supervisor>abc</Customs-supervisor>
-                <Purchasing-supervisor xmlns="ydt.root">
-                    <purchasing-specialist>bcd</purchasing-specialist>
-                    <support>cde</support>
-                </Purchasing-supervisor>
-            </Logistics-manager>
-            <merchandisersupervisor xmlns="ydt.Merchandiser-supervisor">
-                <supervisor>abc</supervisor>
-            </merchandisersupervisor>
+        <config>
+            <Customs-supervisor xmlns="ydt.root">abc</Customs-supervisor>
+            <Purchasing-supervisor xmlns="ydt.root">
+                <purchasing-specialist>bcd</purchasing-specialist>
+                <support>cde</support>
+            </Purchasing-supervisor>
+            <supervisor xmlns="ydt.Merchandiser-supervisor">abc</supervisor>
         </config>
     </edit-config>
 </rpc>
\ No newline at end of file
diff --git a/apps/yms/ut/src/test/resources/ychTestResourceFiles/configrootnameOperationType.xml b/apps/yms/ut/src/test/resources/ychTestResourceFiles/configrootnameOperationType.xml
index 6cecea49..ce63205 100644
--- a/apps/yms/ut/src/test/resources/ychTestResourceFiles/configrootnameOperationType.xml
+++ b/apps/yms/ut/src/test/resources/ychTestResourceFiles/configrootnameOperationType.xml
@@ -4,17 +4,13 @@
         <target>
             <running/>
         </target>
-        <config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
-            <Logistics-manager xmlns="ydt.root">
-                <Customs-supervisor>abc</Customs-supervisor>
-                <Purchasing-supervisor xmlns="ydt.root" operation="delete">
-                    <purchasing-specialist>bcd</purchasing-specialist>
-                    <support>cde</support>
-                </Purchasing-supervisor>
-            </Logistics-manager>
-            <merchandisersupervisor xmlns="ydt.Merchandiser-supervisor">
-                <supervisor>abc</supervisor>
-            </merchandisersupervisor>
+        <config>
+            <Customs-supervisor xmlns="ydt.root">abc</Customs-supervisor>
+            <Purchasing-supervisor xmlns="ydt.root" operation="delete">
+                <purchasing-specialist>bcd</purchasing-specialist>
+                <support>cde</support>
+            </Purchasing-supervisor>
+            <supervisor xmlns="ydt.Merchandiser-supervisor">abc</supervisor>
         </config>
     </edit-config>
 </rpc>
\ No newline at end of file
diff --git a/apps/yms/ut/src/test/resources/ychTestResourceFiles/getReply.xml b/apps/yms/ut/src/test/resources/ychTestResourceFiles/getReply.xml
index b6d11fe..0b836d3 100644
--- a/apps/yms/ut/src/test/resources/ychTestResourceFiles/getReply.xml
+++ b/apps/yms/ut/src/test/resources/ychTestResourceFiles/getReply.xml
@@ -2,10 +2,8 @@
            xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
            xmlns:ex="http://example.net/content/1.0">
     <data>
-        <Logistics-manager xmlns="ydt.root">
-            <Purchasing-supervisor xmlns="ydt.root">
-                <purchasing-specialist>bcd</purchasing-specialist>
-            </Purchasing-supervisor>
-        </Logistics-manager>
+        <Purchasing-supervisor xmlns="ydt.root">
+            <purchasing-specialist>bcd</purchasing-specialist>
+        </Purchasing-supervisor>
     </data>
 </rpc-reply>
\ No newline at end of file
diff --git a/apps/yms/ut/src/test/resources/ychTestResourceFiles/getconfigReply.xml b/apps/yms/ut/src/test/resources/ychTestResourceFiles/getconfigReply.xml
index e27beab..bf3fc7b 100644
--- a/apps/yms/ut/src/test/resources/ychTestResourceFiles/getconfigReply.xml
+++ b/apps/yms/ut/src/test/resources/ychTestResourceFiles/getconfigReply.xml
@@ -1,8 +1,6 @@
 <rpc message-id="101"
      xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
     <data>
-       <merchandisersupervisor xmlns="ydt.Merchandiser-supervisor">
-            <supervisor>abc</supervisor>
-       </merchandisersupervisor>
+        <supervisor xmlns="ydt.Merchandiser-supervisor">abc</supervisor>
     </data>
 </rpc>
\ No newline at end of file
diff --git a/apps/yms/ut/src/test/resources/ychTestResourceFiles/getconfigrootname.xml b/apps/yms/ut/src/test/resources/ychTestResourceFiles/getconfigrootname.xml
index df69691..0c35df5 100644
--- a/apps/yms/ut/src/test/resources/ychTestResourceFiles/getconfigrootname.xml
+++ b/apps/yms/ut/src/test/resources/ychTestResourceFiles/getconfigrootname.xml
@@ -5,9 +5,7 @@
             <running/>
         </source>
         <filter type="subtree">
-            <merchandisersupervisor xmlns="ydt.Merchandiser-supervisor">
-                <supervisor>abc</supervisor>
-            </merchandisersupervisor>
+            <supervisor xmlns="ydt.Merchandiser-supervisor">abc</supervisor>
         </filter>
     </get-config>
 </rpc>
\ No newline at end of file
diff --git a/apps/yms/ut/src/test/resources/ychTestResourceFiles/getrootname.xml b/apps/yms/ut/src/test/resources/ychTestResourceFiles/getrootname.xml
index 9773893..b7fc97d 100644
--- a/apps/yms/ut/src/test/resources/ychTestResourceFiles/getrootname.xml
+++ b/apps/yms/ut/src/test/resources/ychTestResourceFiles/getrootname.xml
@@ -2,11 +2,9 @@
      xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
     <get>
         <filter type="subtree">
-            <Logistics-manager xmlns="ydt.root">
-                <Purchasing-supervisor xmlns="ydt.root">
-                    <purchasing-specialist>bcd</purchasing-specialist>
-                </Purchasing-supervisor>
-            </Logistics-manager>
+            <Purchasing-supervisor xmlns="ydt.root">
+                <purchasing-specialist>bcd</purchasing-specialist>
+            </Purchasing-supervisor>
         </filter>
     </get>
 </rpc>
\ No newline at end of file
