diff --git a/redfish-core/lib/update_service.hpp b/redfish-core/lib/update_service.hpp
index 5860de6..caaa694 100644
--- a/redfish-core/lib/update_service.hpp
+++ b/redfish-core/lib/update_service.hpp
@@ -319,11 +319,38 @@
     {
         redfish::messages::resourceExhaustion(asyncResp->res, url);
     }
-    else
+    else if (type == "xyz.openbmc_project.Software.Version.Error.Incompatible")
     {
-        BMCWEB_LOG_ERROR("Unknown Software Image Error type={}", type);
+        redfish::messages::invalidUpload(asyncResp->res, url,
+                                         "Incompatible image version");
+    }
+    else if (type ==
+             "xyz.openbmc_project.Software.Version.Error.ExpiredAccessKey")
+    {
+        redfish::messages::invalidUpload(asyncResp->res, url,
+                                         "Update Access Key Expired");
+    }
+    else if (type ==
+             "xyz.openbmc_project.Software.Version.Error.InvalidSignature")
+    {
+        redfish::messages::invalidUpload(asyncResp->res, url,
+                                         "Invalid image signature");
+    }
+    else if (type ==
+                 "xyz.openbmc_project.Software.Image.Error.InternalFailure" ||
+             type == "xyz.openbmc_project.Software.Version.Error.HostFile")
+    {
+        BMCWEB_LOG_ERROR("Software Image Error type={}", type);
         redfish::messages::internalError(asyncResp->res);
     }
+    else
+    {
+        // Unrelated error types. Ignored
+        BMCWEB_LOG_INFO("Non-Software-related Error type={}. Ignored", type);
+        return;
+    }
+    // Clear the timer
+    fwAvailableTimer = nullptr;
 }
 
 inline void
@@ -353,7 +380,6 @@
                     // if this was our message, timeout will cover it
                     return;
                 }
-                fwAvailableTimer = nullptr;
                 handleUpdateErrorType(asyncResp, url, *type);
             }
         }
