diff --git a/occ_manager.cpp b/occ_manager.cpp
index 8ead2a4..fc9a112 100644
--- a/occ_manager.cpp
+++ b/occ_manager.cpp
@@ -16,6 +16,8 @@
 namespace occ
 {
 
+using namespace phosphor::logging;
+
 void Manager::findAndCreateObjects()
 {
     for (auto id = 0; id < MAX_CPUS; ++id)
@@ -71,7 +73,6 @@
 
 void Manager::statusCallBack(bool status)
 {
-    using namespace phosphor::logging;
     using InternalFailure =
         sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure;
 
@@ -93,6 +94,24 @@
             obj->addPresenceWatchMaster();
         }
     }
+
+    if ((!_pollTimer->isEnabled()) && (activeCount > 0))
+    {
+        log<level::INFO>(fmt::format("Manager::statusCallBack(): {} OCCs will "
+                                     "be polled every {} seconds",
+                                     activeCount, pollInterval)
+                             .c_str());
+
+        // Send poll and start OCC poll timer
+        pollerTimerExpired();
+    }
+    else if ((_pollTimer->isEnabled()) && (activeCount == 0))
+    {
+        // Stop OCC poll timer
+        log<level::INFO>("Manager::statusCallBack(): OCCs are not running, "
+                         "stopping poll timer");
+        _pollTimer->setEnabled(false);
+    }
 }
 
 #ifdef I2C_OCC
@@ -124,5 +143,31 @@
 }
 #endif
 
+void Manager::pollerTimerExpired()
+{
+    if (activeCount == 0)
+    {
+        // No OCCs running, so poll timer will not be restarted
+        log<level::INFO>("Manager::pollerTimerExpire(): No OCCs running, poll "
+                         "timer not restarted");
+    }
+
+    if (!_pollTimer)
+    {
+        log<level::ERR>(
+            "Manager::pollerTimerExpired() ERROR: Timer not defined");
+        return;
+    }
+
+    for (auto& obj : statusObjects)
+    {
+        // Read sysfs to force kernel to poll OCC
+        obj->readOccState();
+    }
+
+    // Restart OCC poll timer
+    _pollTimer->restartOnce(std::chrono::seconds(pollInterval));
+}
+
 } // namespace occ
 } // namespace open_power
