diff --git a/phosphor-power-supply/psu_manager.cpp b/phosphor-power-supply/psu_manager.cpp
index 085f059..198e87f 100644
--- a/phosphor-power-supply/psu_manager.cpp
+++ b/phosphor-power-supply/psu_manager.cpp
@@ -353,6 +353,7 @@
         {
             powerOn = false;
             runValidateConfig = true;
+            brownoutLogged = false;
         }
     }
 }
@@ -425,11 +426,19 @@
     if (powerOn)
     {
         std::map<std::string, std::string> additionalData;
+        auto hasVINUVFaultCount = decltype(psus.size())(0);
 
         for (auto& psu : psus)
         {
             additionalData.clear();
 
+            // Check for brownout condition: PSU reports AC loss VIN fault or is
+            // not present.
+            if (!psu->isPresent() || psu->hasVINUVFault())
+            {
+                hasVINUVFaultCount++;
+            }
+
             if (!psu->isFaultLogged() && !psu->isPresent())
             {
                 std::map<std::string, std::string> requiredPSUsData;
@@ -612,6 +621,23 @@
                 }
             }
         }
+
+        if (hasVINUVFaultCount == psus.size())
+        {
+            // Brownout: All PSUs report AC loss VIN fault or are not present
+            if (!brownoutLogged)
+            {
+                createError(
+                    "xyz.openbmc_project.State.Shutdown.Power.Error.Blackout",
+                    additionalData);
+                brownoutLogged = true;
+            }
+        }
+        else
+        {
+            // Brownout condition is not present or has been cleared
+            brownoutLogged = false;
+        }
     }
 }
 
