diff --git a/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java b/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java
index 51821e0bc3274522fadd16e8515395da48f78b9a..18a5fd7d2e92cad9c531c7063c7e0e88c65b0a7c 100644
--- a/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java
+++ b/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java
@@ -1585,10 +1585,13 @@ IFloodlightModule, IInfoProvider, IHAListener {
                 } catch (Exception e) {
                     log.error("Exception in LLDP send timer.", e);
                 } finally {
-                    if (!shuttingDown &&
-                            floodlightProvider.getRole() == Role.MASTER) {
-                        discoveryTask.reschedule(DISCOVERY_TASK_INTERVAL,
+                    if (!shuttingDown) {
+                        // null role implies HA mode is not enabled.
+                         Role role = floodlightProvider.getRole();
+                         if (role == null || role == Role.MASTER) {
+                             discoveryTask.reschedule(DISCOVERY_TASK_INTERVAL,
                                                 TimeUnit.SECONDS);
+                         }
                     }
                 }
             }
@@ -1607,8 +1610,10 @@ IFloodlightModule, IInfoProvider, IHAListener {
             }}, "Topology Updates");
         updatesThread.start();
 
-        if (floodlightProvider.getRole() == Role.MASTER)
-            discoveryTask.reschedule(1, TimeUnit.MICROSECONDS);
+        // null role implies HA mode is not enabled.
+        Role role = floodlightProvider.getRole();
+        if (role == null || role == Role.MASTER)
+            discoveryTask.reschedule(DISCOVERY_TASK_INTERVAL, TimeUnit.SECONDS);
         // Register for the OpenFlow messages we want to receive
         floodlightProvider.addOFMessageListener(OFType.PACKET_IN, this);
         floodlightProvider.addOFMessageListener(OFType.PORT_STATUS, this);