diff --git a/occ_manager.cpp b/occ_manager.cpp
index 34a815a..0e6fb8d 100644
--- a/occ_manager.cpp
+++ b/occ_manager.cpp
@@ -113,10 +113,11 @@
                     createObjects(std::string(OCC_NAME) + std::to_string(id));
                 }
                 statusObjCreated = true;
+                waitingForAllOccActiveSensors = true;
             }
         }
 
-        if (statusObjCreated)
+        if (statusObjCreated && waitingForAllOccActiveSensors)
         {
             static bool tracedHostWait = false;
             if (utils::isHostRunning())
@@ -127,7 +128,6 @@
                         "Manager::findAndCreateObjects(): Host is running");
                     tracedHostWait = false;
                 }
-                waitingForAllOccActiveSensors = true;
                 checkAllActiveSensors();
             }
             else
@@ -398,7 +398,10 @@
 #ifdef POWER10
     if (waitingForAllOccActiveSensors)
     {
-        checkAllActiveSensors();
+        if (utils::isHostRunning())
+        {
+            checkAllActiveSensors();
+        }
     }
 #endif
 }
diff --git a/occ_status.cpp b/occ_status.cpp
index ff7eda3..cbacd1a 100644
--- a/occ_status.cpp
+++ b/occ_status.cpp
@@ -34,6 +34,9 @@
             // Set the device active
             device.setActive(true);
 
+            // Update the OCC active sensor
+            Base::Status::occActive(value);
+
             // Start watching for errors
             addErrorWatch();
 
@@ -46,9 +49,6 @@
                 manager.updatePcapBounds();
             }
 
-            // Update the OCC active sensor before notifying Manager
-            Base::Status::occActive(value);
-
             // Call into Manager to let know that we have bound
             if (this->managerCallBack)
             {
