diff --git a/power-sequencer/mihawk-cpld.cpp b/power-sequencer/mihawk-cpld.cpp
index 4a7735d..5a6f09b 100644
--- a/power-sequencer/mihawk-cpld.cpp
+++ b/power-sequencer/mihawk-cpld.cpp
@@ -51,7 +51,7 @@
 
 using namespace sdbusplus::org::open_power::Witherspoon::Fault::Error;
 
-MihawkCPLD::MihawkCPLD(size_t instance, sdbusplus::bus::bus& bus) :
+MihawkCPLD::MihawkCPLD(size_t instance, sdbusplus::bus_t& bus) :
     Device(DEVICE_NAME, instance), bus(bus)
 {}
 
diff --git a/power-sequencer/mihawk-cpld.hpp b/power-sequencer/mihawk-cpld.hpp
index f0af75a..7adf09e 100644
--- a/power-sequencer/mihawk-cpld.hpp
+++ b/power-sequencer/mihawk-cpld.hpp
@@ -37,7 +37,7 @@
      * @param[in] instance - the device instance number
      * @param[in] bus - D-Bus bus object
      */
-    MihawkCPLD(size_t instance, sdbusplus::bus::bus& bus);
+    MihawkCPLD(size_t instance, sdbusplus::bus_t& bus);
 
     /**
      * Analyzes the device for errors when the device is
@@ -107,7 +107,7 @@
     /**
      * The D-Bus bus object
      */
-    sdbusplus::bus::bus& bus;
+    sdbusplus::bus_t& bus;
 
     /**
      * Open CPLD_register via i2c.
diff --git a/power-sequencer/pgood_monitor.hpp b/power-sequencer/pgood_monitor.hpp
index bc1ffd5..85c20bf 100644
--- a/power-sequencer/pgood_monitor.hpp
+++ b/power-sequencer/pgood_monitor.hpp
@@ -43,7 +43,7 @@
      * @param[in] t - time to allow PGOOD to come up
      */
     PGOODMonitor(std::unique_ptr<phosphor::power::Device>&& d,
-                 sdbusplus::bus::bus& b, const sdeventplus::Event& e,
+                 sdbusplus::bus_t& b, const sdeventplus::Event& e,
                  std::chrono::milliseconds& t) :
         DeviceMonitor(std::move(d), e, t),
         bus(b)
@@ -97,7 +97,7 @@
     /**
      * The D-Bus object
      */
-    sdbusplus::bus::bus& bus;
+    sdbusplus::bus_t& bus;
 
     /**
      * The match object for the properties changed signal
diff --git a/power-sequencer/runtime_monitor.cpp b/power-sequencer/runtime_monitor.cpp
index 01c3e4c..487a2a6 100644
--- a/power-sequencer/runtime_monitor.cpp
+++ b/power-sequencer/runtime_monitor.cpp
@@ -40,7 +40,7 @@
 #endif
 }
 
-void RuntimeMonitor::onPowerLost(sdbusplus::message::message&)
+void RuntimeMonitor::onPowerLost(sdbusplus::message_t&)
 {
     log<level::INFO>("PGOOD failure detected.  Checking for faults.");
 
diff --git a/power-sequencer/runtime_monitor.hpp b/power-sequencer/runtime_monitor.hpp
index 8b6789d..a194d2e 100644
--- a/power-sequencer/runtime_monitor.hpp
+++ b/power-sequencer/runtime_monitor.hpp
@@ -49,7 +49,7 @@
      * @param[in] i - poll interval
      */
     RuntimeMonitor(std::unique_ptr<phosphor::power::Device>&& d,
-                   sdbusplus::bus::bus& b, const sdeventplus::Event& e,
+                   sdbusplus::bus_t& b, const sdeventplus::Event& e,
                    std::chrono::milliseconds& i) :
         DeviceMonitor(std::move(d), e, i),
         bus(b), match(bus, getMatchString(),
@@ -75,7 +75,7 @@
      *
      * @param[in] msg - D-Bus message for callback
      */
-    void onPowerLost(sdbusplus::message::message& msg);
+    void onPowerLost(sdbusplus::message_t& msg);
 
     /**
      * Returns the match string for the PowerLost signal
@@ -94,7 +94,7 @@
     /**
      * The D-Bus object
      */
-    sdbusplus::bus::bus& bus;
+    sdbusplus::bus_t& bus;
 
     /**
      * Match object for PowerLost signals
diff --git a/power-sequencer/ucd90160.cpp b/power-sequencer/ucd90160.cpp
index 72728e4..3801d40 100644
--- a/power-sequencer/ucd90160.cpp
+++ b/power-sequencer/ucd90160.cpp
@@ -50,7 +50,7 @@
 namespace device_error = sdbusplus::xyz::openbmc_project::Common::Device::Error;
 namespace power_error = sdbusplus::org::open_power::Witherspoon::Fault::Error;
 
-UCD90160::UCD90160(size_t instance, sdbusplus::bus::bus& bus) :
+UCD90160::UCD90160(size_t instance, sdbusplus::bus_t& bus) :
     Device(DEVICE_NAME, instance),
     interface(std::get<ucd90160::pathField>(deviceMap.find(instance)->second),
               DRIVER_NAME, instance),
diff --git a/power-sequencer/ucd90160.hpp b/power-sequencer/ucd90160.hpp
index 82efc92..4701826 100644
--- a/power-sequencer/ucd90160.hpp
+++ b/power-sequencer/ucd90160.hpp
@@ -43,7 +43,7 @@
      * @param[in] instance - the device instance number
      * @param[in] bus - D-Bus bus object
      */
-    UCD90160(size_t instance, sdbusplus::bus::bus& bus);
+    UCD90160(size_t instance, sdbusplus::bus_t& bus);
 
     /**
      * Analyzes the device for errors when the device is
@@ -301,7 +301,7 @@
     /**
      * The D-Bus bus object
      */
-    sdbusplus::bus::bus& bus;
+    sdbusplus::bus_t& bus;
 
     /**
      * Map of device instance to the instance specific data
