diff --git a/src/main/java/net/floodlightcontroller/core/internal/Controller.java b/src/main/java/net/floodlightcontroller/core/internal/Controller.java
index c787e4a5564cfb94b810e59c3231dfeb2b1108d3..faa907d537fa0d3c9ae69be9efa78ae5f7415913 100644
--- a/src/main/java/net/floodlightcontroller/core/internal/Controller.java
+++ b/src/main/java/net/floodlightcontroller/core/internal/Controller.java
@@ -1508,6 +1508,9 @@ public class Controller implements IFloodlightProviderService,
             this.setAlwaysClearFlowsOnSwAdd(false);
             log.info("Flush switches on reconnect -- Disabled");
         }
+        this.roleManager = new RoleManager(this.notifiedRole,
+                                           INITIAL_ROLE_CHANGE_DESCRIPTION);
+        this.switchManager = new SwitchManager(this.notifiedRole);
      }
 
     /**
@@ -1537,9 +1540,7 @@ public class Controller implements IFloodlightProviderService,
         restApi.addRestletRoutable(new CoreWebRoutable());
 
         this.ses = threadPool.getScheduledExecutor();
-        this.roleManager = new RoleManager(this.notifiedRole,
-                                           INITIAL_ROLE_CHANGE_DESCRIPTION);
-        this.switchManager = new SwitchManager(this.notifiedRole);
+
         try {
             this.syncService.registerStore(SWITCH_SYNC_STORE_NAME, Scope.LOCAL);
             this.storeClient = this.syncService