diff --git a/phosphor-power-supply/power_supply.cpp b/phosphor-power-supply/power_supply.cpp
index 27bc502..e5fa9c8 100644
--- a/phosphor-power-supply/power_supply.cpp
+++ b/phosphor-power-supply/power_supply.cpp
@@ -186,6 +186,7 @@
         std::string prettyName = invpath.substr(lastSlashPos + 1);
         setPresence(bus, invpath, present, prettyName);
         updateInventory();
+        checkAvailability();
     }
 }
 
@@ -563,6 +564,8 @@
                         .c_str());
                 clearFaults();
             }
+
+            checkAvailability();
         }
         catch (const ReadFailure& e)
         {
@@ -616,6 +619,7 @@
     if (present)
     {
         clearFaultFlags();
+        checkAvailability();
         readFail = 0;
 
         try
@@ -662,6 +666,7 @@
             // Clear out the now outdated inventory properties
             updateInventory();
         }
+        checkAvailability();
     }
 }
 
@@ -690,6 +695,7 @@
                                      .c_str());
 
                 updateInventory();
+                checkAvailability();
             }
         }
     }
@@ -905,4 +911,17 @@
     }
 }
 
+void PowerSupply::checkAvailability()
+{
+    bool origAvailability = available;
+    available = present && !hasInputFault() && !hasVINUVFault() &&
+                !hasPSKillFault() && !hasIoutOCFault();
+
+    if (origAvailability != available)
+    {
+        auto invpath = inventoryPath.substr(strlen(INVENTORY_OBJ_PATH));
+        phosphor::power::psu::setAvailable(bus, invpath, available);
+    }
+}
+
 } // namespace phosphor::power::psu
