diff --git a/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/YangSchemaRegistry.java b/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/YangSchemaRegistry.java
index 1812f04..8098188 100644
--- a/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/YangSchemaRegistry.java
+++ b/apps/yms/app/src/main/java/org/onosproject/yms/app/ysr/YangSchemaRegistry.java
@@ -17,7 +17,6 @@
 package org.onosproject.yms.app.ysr;
 
 import org.onosproject.yangutils.datamodel.YangSchemaNode;
-import org.onosproject.yms.app.ynh.YangNotificationExtendedService;
 
 /**
  * Abstraction of entity which provides interfaces to YANG schema registry.
@@ -27,15 +26,10 @@
     /**
      * Registers applications to YMS.
      *
-     * @param managerObject               application's object
-     * @param serviceClass                service class which needs to be
-     *                                    registered
-     * @param notificationExtendedService notification extended service to
-     *                                    register application object with YNH
+     * @param managerObject application's object
+     * @param serviceClass  service class to be registered
      */
-    void registerApplication(Object managerObject, Class<?> serviceClass,
-                             YangNotificationExtendedService
-                                     notificationExtendedService);
+    void registerApplication(Object managerObject, Class<?> serviceClass);
 
     /**
      * Unregisters applications to YMS.
