diff --git a/redfish-core/include/utils/fw_utils.hpp b/redfish-core/include/utils/fw_utils.hpp
index 7043291..2f14358 100644
--- a/redfish-core/include/utils/fw_utils.hpp
+++ b/redfish-core/include/utils/fw_utils.hpp
@@ -220,6 +220,33 @@
 }
 
 /**
+ * @brief Translate input fwState to Redfish health state
+ *
+ * This function will return the corresponding Redfish health state
+ *
+ * @param[i]   fwState  The OpenBMC firmware state
+ *
+ * @return The corresponding Redfish health state
+ */
+std::string getRedfishFWHealth(const std::string &fwState)
+{
+    if ((fwState ==
+         "xyz.openbmc_project.Software.Activation.Activations.Active") ||
+        (fwState ==
+         "xyz.openbmc_project.Software.Activation.Activations.Activating") ||
+        (fwState ==
+         "xyz.openbmc_project.Software.Activation.Activations.Ready"))
+    {
+        return "OK";
+    }
+    else
+    {
+        BMCWEB_LOG_DEBUG << "FW state " << fwState << " to Warning";
+        return "Warning";
+    }
+}
+
+/**
  * @brief Put status of input swId into json response
  *
  * This function will put the appropriate Redfish state of the input
@@ -268,6 +295,8 @@
             BMCWEB_LOG_DEBUG << "getFwStatus: Activation " << *swInvActivation;
             asyncResp->res.jsonValue["Status"]["State"] =
                 getRedfishFWState(*swInvActivation);
+            asyncResp->res.jsonValue["Status"]["Health"] =
+                getRedfishFWHealth(*swInvActivation);
         },
         dbusSvc, "/xyz/openbmc_project/software/" + *swId,
         "org.freedesktop.DBus.Properties", "GetAll",
diff --git a/redfish-core/lib/update_service.hpp b/redfish-core/lib/update_service.hpp
index 57dcc07..e3f5df7 100644
--- a/redfish-core/lib/update_service.hpp
+++ b/redfish-core/lib/update_service.hpp
@@ -772,7 +772,6 @@
                     "/redfish/v1/$metadata#SoftwareInventory.SoftwareInventory";
                 asyncResp->res.jsonValue["Name"] = "Software Inventory";
                 asyncResp->res.jsonValue["Updateable"] = false;
-                asyncResp->res.jsonValue["Status"]["Health"] = "OK";
                 asyncResp->res.jsonValue["Status"]["HealthRollup"] = "OK";
             },
             "xyz.openbmc_project.ObjectMapper",
