diff --git a/phosphor-power-supply/power_supply.cpp b/phosphor-power-supply/power_supply.cpp
index 3f3a595..73998f3 100644
--- a/phosphor-power-supply/power_supply.cpp
+++ b/phosphor-power-supply/power_supply.cpp
@@ -223,7 +223,7 @@
                                         statusWord, statusCML)
                                 .c_str());
                     }
-                    faultFound = true;
+
                     cmlFault = true;
                 }
 
@@ -239,7 +239,6 @@
                                 .c_str());
                     }
 
-                    faultFound = true;
                     inputFault = true;
                 }
 
@@ -254,7 +253,7 @@
                                         statusWord, statusMFR, statusVout)
                                 .c_str());
                     }
-                    faultFound = true;
+
                     voutOVFault = true;
                 }
 
@@ -269,7 +268,7 @@
                                         statusWord, statusMFR)
                                 .c_str());
                     }
-                    faultFound = true;
+
                     mfrFault = true;
                 }
 
@@ -285,13 +284,11 @@
                                 .c_str());
                     }
 
-                    faultFound = true;
                     vinUVFault = true;
                 }
             }
             else
             {
-                faultFound = false;
                 cmlFault = false;
                 inputFault = false;
                 mfrFault = false;
@@ -342,7 +339,6 @@
     // I do not care what the return value is.
     if (present)
     {
-        faultFound = false;
         inputFault = false;
         mfrFault = false;
         statusMFR = 0;
