diff --git a/redfish-core/lib/account_service.hpp b/redfish-core/lib/account_service.hpp
index dd63913..897c5c4 100644
--- a/redfish-core/lib/account_service.hpp
+++ b/redfish-core/lib/account_service.hpp
@@ -143,8 +143,11 @@
         messages::resourceNotFound(
             asyncResp->res, "#ManagerAccount.v1_4_0.ManagerAccount", username);
     }
-    else if (strcmp(errorMessage,
-                    "xyz.openbmc_project.Common.Error.InvalidArgument") == 0)
+    else if ((strcmp(errorMessage,
+                     "xyz.openbmc_project.Common.Error.InvalidArgument") ==
+              0) ||
+             (strcmp(errorMessage, "xyz.openbmc_project.User.Common.Error."
+                                   "UserNameGroupFail") == 0))
     {
         messages::propertyValueFormatError(asyncResp->res, newUser, "UserName");
     }
@@ -153,11 +156,6 @@
     {
         messages::createLimitReachedForResource(asyncResp->res);
     }
-    else if (strcmp(errorMessage, "xyz.openbmc_project.User.Common.Error."
-                                  "UserNameGroupFail") == 0)
-    {
-        messages::propertyValueFormatError(asyncResp->res, newUser, "UserName");
-    }
     else
     {
         messages::internalError(asyncResp->res);
diff --git a/redfish-core/lib/log_services.hpp b/redfish-core/lib/log_services.hpp
index 0e93f5c..777f37e 100644
--- a/redfish-core/lib/log_services.hpp
+++ b/redfish-core/lib/log_services.hpp
@@ -107,31 +107,16 @@
 
 inline std::string translateSeverityDbusToRedfish(const std::string& s)
 {
-    if (s == "xyz.openbmc_project.Logging.Entry.Level.Alert")
+    if ((s == "xyz.openbmc_project.Logging.Entry.Level.Alert") ||
+        (s == "xyz.openbmc_project.Logging.Entry.Level.Critical") ||
+        (s == "xyz.openbmc_project.Logging.Entry.Level.Emergency") ||
+        (s == "xyz.openbmc_project.Logging.Entry.Level.Error"))
     {
         return "Critical";
     }
-    else if (s == "xyz.openbmc_project.Logging.Entry.Level.Critical")
-    {
-        return "Critical";
-    }
-    else if (s == "xyz.openbmc_project.Logging.Entry.Level.Debug")
-    {
-        return "OK";
-    }
-    else if (s == "xyz.openbmc_project.Logging.Entry.Level.Emergency")
-    {
-        return "Critical";
-    }
-    else if (s == "xyz.openbmc_project.Logging.Entry.Level.Error")
-    {
-        return "Critical";
-    }
-    else if (s == "xyz.openbmc_project.Logging.Entry.Level.Informational")
-    {
-        return "OK";
-    }
-    else if (s == "xyz.openbmc_project.Logging.Entry.Level.Notice")
+    else if ((s == "xyz.openbmc_project.Logging.Entry.Level.Debug") ||
+             (s == "xyz.openbmc_project.Logging.Entry.Level.Informational") ||
+             (s == "xyz.openbmc_project.Logging.Entry.Level.Notice"))
     {
         return "OK";
     }
diff --git a/redfish-core/lib/systems.hpp b/redfish-core/lib/systems.hpp
index df83f2b..34202b1 100644
--- a/redfish-core/lib/systems.hpp
+++ b/redfish-core/lib/systems.hpp
@@ -1750,7 +1750,7 @@
         // Get the command and host vs. chassis
         std::string command;
         bool hostCommand;
-        if (resetType == "On")
+        if ((resetType == "On") || (resetType == "ForceOn"))
         {
             command = "xyz.openbmc_project.State.Host.Transition.On";
             hostCommand = true;
@@ -1760,11 +1760,6 @@
             command = "xyz.openbmc_project.State.Chassis.Transition.Off";
             hostCommand = false;
         }
-        else if (resetType == "ForceOn")
-        {
-            command = "xyz.openbmc_project.State.Host.Transition.On";
-            hostCommand = true;
-        }
         else if (resetType == "ForceRestart")
         {
             command =
