diff --git a/extensions/openpower-pels/manager.cpp b/extensions/openpower-pels/manager.cpp
index fa6bc59..3c9b2cb 100644
--- a/extensions/openpower-pels/manager.cpp
+++ b/extensions/openpower-pels/manager.cpp
@@ -156,6 +156,9 @@
             log<level::ERR>("Unable to add PEL to Repository",
                             entry("PEL_ID=0x%X", pel->id()));
         }
+
+        // Check if firmware should quiesce system due to error
+        checkPelAndQuiesce(pel);
     }
     else
     {
@@ -349,6 +352,9 @@
     // Activate any resulting service indicators if necessary
     auto policy = service_indicators::getPolicy(*_dataIface);
     policy->activate(*pel);
+
+    // Check if firmware should quiesce system due to error
+    checkPelAndQuiesce(pel);
 }
 
 sdbusplus::message::unix_fd Manager::getPEL(uint32_t pelID)
@@ -580,5 +586,29 @@
     return {0, 0};
 }
 
+void Manager::checkPelAndQuiesce(std::unique_ptr<openpower::pels::PEL>& pel)
+{
+    if (pel->userHeader().severity() ==
+        static_cast<uint8_t>(SeverityType::nonError))
+    {
+        log<level::DEBUG>("PEL severity informational. no quiesce needed");
+        return;
+    }
+    if (!_logManager.isQuiesceOnErrorEnabled())
+    {
+        log<level::DEBUG>("QuiesceOnHwError not enabled, no quiesce needed");
+        return;
+    }
+
+    // Now check if it has any type of callout
+    if (pel->isCalloutPresent())
+    {
+        log<level::INFO>("QuiesceOnHwError enabled, PEL severity not nonError, "
+                         "and callout is present");
+
+        _logManager.quiesceOnError(pel->obmcLogID());
+    }
+}
+
 } // namespace pels
 } // namespace openpower
