diff --git a/utils/yangutils/src/test/java/org/onosproject/yangutils/linker/InterFileLinkingTest.java b/utils/yangutils/src/test/java/org/onosproject/yangutils/linker/InterFileLinkingTest.java
index c170cd9..7920356 100644
--- a/utils/yangutils/src/test/java/org/onosproject/yangutils/linker/InterFileLinkingTest.java
+++ b/utils/yangutils/src/test/java/org/onosproject/yangutils/linker/InterFileLinkingTest.java
@@ -19,7 +19,6 @@
 import java.io.IOException;
 import java.util.Iterator;
 import java.util.ListIterator;
-
 import org.apache.maven.plugin.MojoExecutionException;
 import org.junit.Test;
 import org.onosproject.yangutils.datamodel.YangDataTypes;
@@ -71,6 +70,9 @@
         YangNode refNode = null;
         YangNode selfNode = null;
 
+        // Create YANG node set
+        yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet());
+
         // Add references to import list.
         yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangFileInfoSet());
 
@@ -137,6 +139,9 @@
         YangNode refNode = null;
         YangNode selfNode = null;
 
+        // Create YANG node set
+        yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet());
+
         // Add references to import list.
         yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangFileInfoSet());
 
@@ -211,6 +216,9 @@
         YangNode refNode = null;
         YangNode selfNode = null;
 
+        // Create YANG node set
+        yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet());
+
         // Carry out linking of sub module with module.
         yangLinkerManager.linkSubModulesToParentModule(utilManager.getYangFileInfoSet());
 
@@ -280,6 +288,9 @@
         YangNode refNode = null;
         YangNode selfNode = null;
 
+        // Create YANG node set
+        yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet());
+
         // Carry out linking of sub module with module.
         yangLinkerManager.linkSubModulesToParentModule(utilManager.getYangFileInfoSet());
 
@@ -357,6 +368,9 @@
         YangNode refNode = null;
         YangNode selfNode = null;
 
+        // Create YANG node set
+        yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet());
+
         // Add references to import list.
         yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangFileInfoSet());
 
@@ -423,6 +437,9 @@
         YangNode refNode = null;
         YangNode selfNode = null;
 
+        // Create YANG node set
+        yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet());
+
         // Add references to import list.
         yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangFileInfoSet());
 
@@ -490,6 +507,9 @@
         YangNode refNode2 = null;
         YangNode selfNode = null;
 
+        // Create YANG node set
+        yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet());
+
         // Add references to import list.
         yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangFileInfoSet());
 
@@ -554,6 +574,9 @@
         YangNode refNode1 = null;
         YangNode selfNode = null;
 
+        // Create YANG node set
+        yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet());
+
         // Add references to import list.
         yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangFileInfoSet());
 
