diff --git a/src/appcommands.cpp b/src/appcommands.cpp
index c1089c4..2d4e1a9 100644
--- a/src/appcommands.cpp
+++ b/src/appcommands.cpp
@@ -68,22 +68,6 @@
         return -1;
     }
 
-    std::string bmcState;
-    ec = ipmi::getDbusProperty(ctx, objInfo.second, objInfo.first, bmcStateIntf,
-                               currentBmcStateProp, bmcState);
-    if (ec)
-    {
-        phosphor::logging::log<phosphor::logging::level::ERR>(
-            "initBMCDeviceState: Failed to get CurrentBMCState property",
-            phosphor::logging::entry("ERROR=%s", ec.message().c_str()));
-        return -1;
-    }
-
-    bmcDeviceBusy = (bmcState != bmcStateReadyStr);
-
-    phosphor::logging::log<phosphor::logging::level::INFO>(
-        "BMC device state updated");
-
     // BMC state may change runtime while doing firmware udpate.
     // Register for property change signal to update state.
     bmcStateChangedSignal = std::make_unique<sdbusplus::bus::match_t>(
@@ -118,6 +102,22 @@
             }
         });
 
+    std::string bmcState;
+    ec = ipmi::getDbusProperty(ctx, objInfo.second, objInfo.first, bmcStateIntf,
+                               currentBmcStateProp, bmcState);
+    if (ec)
+    {
+        phosphor::logging::log<phosphor::logging::level::ERR>(
+            "initBMCDeviceState: Failed to get CurrentBMCState property",
+            phosphor::logging::entry("ERROR=%s", ec.message().c_str()));
+        return -1;
+    }
+
+    bmcDeviceBusy = (bmcState != bmcStateReadyStr);
+
+    phosphor::logging::log<phosphor::logging::level::INFO>(
+        "BMC device state updated");
+
     return 0;
 }
 
