diff --git a/src/controller/controller_connectors.cpp b/src/controller/controller_connectors.cpp
index b7be032c..86d6efb3 100644
--- a/src/controller/controller_connectors.cpp
+++ b/src/controller/controller_connectors.cpp
@@ -24,11 +24,17 @@ namespace Controller {
   static std::map<std::string, pid_t> currentConnectors; ///<The currently running connectors.
 
   /// Updates the shared memory page with active connectors
-  void saveActiveConnectors(){
-    IPC::sharedPage f("MstCnns", 4096, true, false);
+  void saveActiveConnectors(bool forceOverride){
+    IPC::sharedPage f("MstCnns", 4096, forceOverride, false);
     if (!f.mapped){
-      FAIL_MSG("Could not store connector data!");
-      return;
+      if (!forceOverride){
+        saveActiveConnectors(true);
+        return;
+      }
+      if (!f.mapped){
+        FAIL_MSG("Could not store connector data!");
+        return;
+      }
     }
     memset(f.mapped, 0, 32);
     Util::RelAccX A(f.mapped, false);
diff --git a/src/controller/controller_connectors.h b/src/controller/controller_connectors.h
index e48ff308..75e7da5c 100644
--- a/src/controller/controller_connectors.h
+++ b/src/controller/controller_connectors.h
@@ -9,7 +9,7 @@ namespace Controller {
   bool CheckProtocols(JSON::Value & p, const JSON::Value & capabilities);
 
   /// Updates the shared memory page with active connectors
-  void saveActiveConnectors();
+  void saveActiveConnectors(bool forceOverride = false);
 
   /// Reads active connectors from the shared memory pages
   void loadActiveConnectors();