diff --git a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/Controller.java b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/Controller.java
index 8e1006e..381109e 100644
--- a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/Controller.java
+++ b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/Controller.java
@@ -77,7 +77,9 @@
     public void isisDeactivate() {
         disconnectExecutor();
         processes = null;
-        peerExecFactory.shutdown();
+        if (peerExecFactory != null) {
+            peerExecFactory.shutdown();
+        }
     }
 
     /**
diff --git a/protocols/isis/ctl/src/test/java/org/onosproject/isis/controller/impl/ControllerTest.java b/protocols/isis/ctl/src/test/java/org/onosproject/isis/controller/impl/ControllerTest.java
index e78077d..a5396605 100644
--- a/protocols/isis/ctl/src/test/java/org/onosproject/isis/controller/impl/ControllerTest.java
+++ b/protocols/isis/ctl/src/test/java/org/onosproject/isis/controller/impl/ControllerTest.java
@@ -101,7 +101,7 @@
     /**
      * Tests isisDeactivate() method.
      */
-    @Test(expected = Exception.class)
+    @Test
     public void testIsisDeactivate() throws Exception {
         controller.isisDeactivate();
         assertThat(controller, is(notNullValue()));
diff --git a/protocols/isis/ctl/src/test/java/org/onosproject/isis/controller/impl/DefaultIsisControllerTest.java b/protocols/isis/ctl/src/test/java/org/onosproject/isis/controller/impl/DefaultIsisControllerTest.java
index 8ca412e..1ae1e58 100644
--- a/protocols/isis/ctl/src/test/java/org/onosproject/isis/controller/impl/DefaultIsisControllerTest.java
+++ b/protocols/isis/ctl/src/test/java/org/onosproject/isis/controller/impl/DefaultIsisControllerTest.java
@@ -87,7 +87,7 @@
     /**
      * Tests deactivate() method.
      */
-    @Test(expected = Exception.class)
+    @Test()
     public void testDeactivate() throws Exception {
         defaultIsisController.activate();
         defaultIsisController.deactivate();
diff --git a/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/impl/LispControllerImpl.java b/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/impl/LispControllerImpl.java
index 9fd5200..95535ad 100644
--- a/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/impl/LispControllerImpl.java
+++ b/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/impl/LispControllerImpl.java
@@ -75,18 +75,10 @@
     @Reference(cardinality = ReferenceCardinality.MANDATORY)
     protected ComponentConfigService cfgService;
 
-    /**
-     * Authentication key which is used to calculate authentication data for
-     * LISP control message; default value is onos.
-     */
+    /** Authentication key which is used to calculate authentication data. */
     private String lispAuthKey = LISP_AUTH_KEY_DEFAULT;
 
-    /**
-     * Authentication key id which denotes the authentication method
-     * that ONOS uses to calculate the authentication data;
-     * 1 denotes HMAC SHA1 encryption, 2 denotes HMAC SHA256 encryption;
-     * default value is 1.
-     */
+    /** Authentication key id which denotes the authentication method used to calculate the authentication data. */
     private int lispAuthKeyId = LISP_AUTH_KEY_ID_DEFAULT;
 
     /** Enable to send SMR(Solicit Map Request) by map server; by default SMR is not activated. */
