diff --git a/phosphor-power-supply/psu_manager.cpp b/phosphor-power-supply/psu_manager.cpp
index bc9e35c..3af7e36 100644
--- a/phosphor-power-supply/psu_manager.cpp
+++ b/phosphor-power-supply/psu_manager.cpp
@@ -554,20 +554,31 @@
     {
         if (!syncHistoryGPIO)
         {
-            syncHistoryGPIO = createGPIO(INPUT_HISTORY_SYNC_GPIO);
+            try
+            {
+                syncHistoryGPIO = createGPIO(INPUT_HISTORY_SYNC_GPIO);
+            }
+            catch (const std::exception& e)
+            {
+                // Not an error, system just hasn't implemented the synch gpio
+                log<level::INFO>("No synchronization GPIO found");
+                syncHistoryGPIO = nullptr;
+            }
         }
         if (syncHistoryGPIO)
         {
             const std::chrono::milliseconds delay{INPUT_HISTORY_SYNC_DELAY};
             log<level::INFO>("Synchronize INPUT_HISTORY");
             syncHistoryGPIO->toggleLowHigh(delay);
-            for (auto& psu : psus)
-            {
-                psu->clearSyncHistoryRequired();
-            }
             log<level::INFO>("Synchronize INPUT_HISTORY completed");
         }
     }
+
+    // Always clear synch history required after calling this function
+    for (auto& psu : psus)
+    {
+        psu->clearSyncHistoryRequired();
+    }
 }
 
 void PSUManager::analyze()
