diff --git a/softoff/softoff.cpp b/softoff/softoff.cpp
index ec19988..be78933 100644
--- a/softoff/softoff.cpp
+++ b/softoff/softoff.cpp
@@ -143,9 +143,7 @@
         VMMMethod.append(TID, entityType,
                          (uint16_t)PLDM_STATE_SET_SW_TERMINATION_STATUS);
 
-        auto VMMResponseMsg = bus.call(
-            VMMMethod,
-            std::chrono::duration_cast<microsec>(sec(DBUS_TIMEOUT)).count());
+        auto VMMResponseMsg = bus.call(VMMMethod, dbusTimeout);
 
         VMMResponseMsg.read(VMMResponse);
         if (VMMResponse.size() != 0)
@@ -187,9 +185,7 @@
         sysFwMethod.append(TID, entityType,
                            (uint16_t)PLDM_STATE_SET_SW_TERMINATION_STATUS);
 
-        auto sysFwResponseMsg = bus.call(
-            sysFwMethod,
-            std::chrono::duration_cast<microsec>(sec(DBUS_TIMEOUT)).count());
+        auto sysFwResponseMsg = bus.call(sysFwMethod, dbusTimeout);
 
         sysFwResponseMsg.read(sysFwResponse);
 
@@ -238,9 +234,7 @@
         method.append(TID, entityType,
                       (uint16_t)PLDM_STATE_SET_SW_TERMINATION_STATUS);
 
-        auto ResponseMsg = bus.call(
-            method,
-            std::chrono::duration_cast<microsec>(sec(DBUS_TIMEOUT)).count());
+        auto ResponseMsg = bus.call(method, dbusTimeout);
 
         ResponseMsg.read(Response);
 
@@ -310,9 +304,7 @@
             "xyz.openbmc_project.PLDM.Requester", "GetInstanceId");
         method.append(mctpEID);
 
-        auto ResponseMsg = bus.call(
-            method,
-            std::chrono::duration_cast<microsec>(sec(DBUS_TIMEOUT)).count());
+        auto ResponseMsg = bus.call(method, dbusTimeout);
 
         ResponseMsg.read(instanceID);
     }
