diff --git a/src/main/java/net/floodlightcontroller/core/internal/Controller.java b/src/main/java/net/floodlightcontroller/core/internal/Controller.java
index 1716d27e97307049aef1977c907d5c8a97cc8338..73f3bed6632d2efa7a515b738588dd4892b3a233 100644
--- a/src/main/java/net/floodlightcontroller/core/internal/Controller.java
+++ b/src/main/java/net/floodlightcontroller/core/internal/Controller.java
@@ -1795,14 +1795,6 @@ public class Controller implements IFloodlightProviderService,
         this.roleChanger = new RoleChanger(this);
         initVendorMessages();
         this.systemStartTime = System.currentTimeMillis();
-
-        ScheduledExecutorService ses = threadPool.getScheduledExecutor();
-        roleChangeDamper = new SingletonTask(ses, new Runnable() {
-            @Override
-            public void run() {
-                doSetRole();
-            }
-        });
     }
 
     /**
@@ -1844,6 +1836,15 @@ public class Controller implements IFloodlightProviderService,
 
         // Add our REST API
         restApi.addRestletRoutable(new CoreWebRoutable());
+
+        // Start role change task
+        ScheduledExecutorService ses = threadPool.getScheduledExecutor();
+        roleChangeDamper = new SingletonTask(ses, new Runnable() {
+            @Override
+            public void run() {
+                doSetRole();
+            }
+        });
     }
 
     @Override