diff --git a/occ_status.cpp b/occ_status.cpp
index f740dc7..7eafb66 100644
--- a/occ_status.cpp
+++ b/occ_status.cpp
@@ -7,6 +7,11 @@
 namespace occ
 {
 
+bool Status::hubFsiScanDone = false;
+
+// To initiate a FSI rescan
+constexpr auto fsiReScan = "1";
+
 // Handles updates to occActive property
 bool Status::occActive(bool value)
 {
@@ -14,16 +19,26 @@
     {
         if (value)
         {
+            if (!hubFsiScanDone)
+            {
+                // Need to do hub scan before we bind
+                this->scanHubFSI();
+            }
+
             // Bind the device
             device.bind();
 
             // And watch for errors
-            device.addErrorWatch();
+            // Commenting until we solve the occ error monitoring issue
+            // TODO: openbmc/openbmc#2126
+            // device.addErrorWatch();
         }
         else
         {
             // Stop watching for errors
-            device.removeErrorWatch();
+            // Commenting until we solve the occ error monitoring issue
+            // TODO: openbmc/openbmc#2126
+            // device.removeErrorWatch();
 
             // Do the unbind.
             device.unBind();
@@ -97,5 +112,18 @@
     return;
 }
 
+// Scans the secondary FSI hub to make sure /dev/occ files are populated
+// Write "1" to achieve that
+void Status::scanHubFSI()
+{
+    std::ofstream file(FSI_SCAN_FILE, std::ios::out);
+    file << fsiReScan;
+    file.close();
+
+    // Hub FSI scan has been done. No need to do this for all the OCCs
+    hubFsiScanDone = true;
+    return;
+}
+
 } // namespace occ
 } // namespace open_power
