diff --git a/softoff/mainapp.cpp b/softoff/mainapp.cpp
index 7ff90b0..6f1f2d3 100644
--- a/softoff/mainapp.cpp
+++ b/softoff/mainapp.cpp
@@ -72,8 +72,8 @@
          phosphor::ipmi::Base::SoftPowerOff::HostResponse::SoftOffReceived))
     {
         using error =
-            sdbusplus::xyz::openbmc_project::State::Host::Error::SoftOffTimeout;
-        using errorMetadata = xyz::openbmc_project::State::Host::SoftOffTimeout;
+            sdbusplus::error::xyz::openbmc_project::state::host::SoftOffTimeout;
+        using errorMetadata = xyz::openbmc_project::state::host::SoftOffTimeout;
         report<error>(prev_entry<errorMetadata::TIMEOUT_IN_MSEC>());
         return -1;
     }
diff --git a/softoff/softoff.cpp b/softoff/softoff.cpp
index 7dcde4c..fe915d1 100644
--- a/softoff/softoff.cpp
+++ b/softoff/softoff.cpp
@@ -28,7 +28,7 @@
 {
 
 using namespace phosphor::logging;
-using namespace sdbusplus::xyz::openbmc_project::Control::server;
+using namespace sdbusplus::server::xyz::openbmc_project::control;
 
 void SoftPowerOff::sendHostShutDownCmd()
 {
@@ -69,7 +69,7 @@
     if (Host::convertResultFromString(cmdStatus) == Host::Result::Success)
     {
         // Set our internal property indicating we got host attention
-        sdbusplus::xyz::openbmc_project::Ipmi::Internal ::server::SoftPowerOff::
+        sdbusplus::server::xyz::openbmc_project::ipmi::internal::SoftPowerOff::
             responseReceived(HostResponse::SoftOffReceived);
 
         // Start timer for host shutdown
@@ -128,7 +128,7 @@
         completed = true;
     }
 
-    return sdbusplus::xyz::openbmc_project::Ipmi::Internal ::server::
+    return sdbusplus::server::xyz::openbmc_project::ipmi::internal::
         SoftPowerOff::responseReceived(response);
 }
 
diff --git a/softoff/softoff.hpp b/softoff/softoff.hpp
index c78710b..d525d11 100644
--- a/softoff/softoff.hpp
+++ b/softoff/softoff.hpp
@@ -14,8 +14,8 @@
 namespace ipmi
 {
 
-namespace Base = sdbusplus::xyz::openbmc_project::Ipmi::Internal::server;
-using namespace sdbusplus::xyz::openbmc_project::Control::server;
+namespace Base = sdbusplus::server::xyz::openbmc_project::ipmi::internal;
+using namespace sdbusplus::server::xyz::openbmc_project::control;
 
 namespace sdbusRule = sdbusplus::bus::match::rules;
 
