diff --git a/ubi/activation_ubi.cpp b/ubi/activation_ubi.cpp
index 946a741..205c393 100644
--- a/ubi/activation_ubi.cpp
+++ b/ubi/activation_ubi.cpp
@@ -129,7 +129,7 @@
     activationProgress->progress(10);
 }
 
-void ActivationUbi::unitStateChange(sdbusplus::message::message& msg)
+void ActivationUbi::unitStateChange(sdbusplus::message_t& msg)
 {
     uint32_t newStateID{};
     sdbusplus::message::object_path newStateObjPath;
diff --git a/ubi/activation_ubi.hpp b/ubi/activation_ubi.hpp
index 957ee06..26d4209 100644
--- a/ubi/activation_ubi.hpp
+++ b/ubi/activation_ubi.hpp
@@ -16,7 +16,7 @@
 class RedundancyPriorityUbi : public RedundancyPriority
 {
   public:
-    RedundancyPriorityUbi(sdbusplus::bus::bus& bus, const std::string& path,
+    RedundancyPriorityUbi(sdbusplus::bus_t& bus, const std::string& path,
                           Activation& parent, uint8_t value) :
         RedundancyPriority(bus, path, parent, value)
     {
@@ -60,7 +60,7 @@
      *created as part of the activation process. **/
     bool ubiVolumesCreated = false;
 
-    void unitStateChange(sdbusplus::message::message& msg) override;
+    void unitStateChange(sdbusplus::message_t& msg) override;
     void startActivation() override;
     void finishActivation() override;
 };
diff --git a/ubi/item_updater_ubi.hpp b/ubi/item_updater_ubi.hpp
index ccd8e57..f462bdf 100644
--- a/ubi/item_updater_ubi.hpp
+++ b/ubi/item_updater_ubi.hpp
@@ -30,7 +30,7 @@
 class ItemUpdaterUbi : public ItemUpdater
 {
   public:
-    ItemUpdaterUbi(sdbusplus::bus::bus& bus, const std::string& path) :
+    ItemUpdaterUbi(sdbusplus::bus_t& bus, const std::string& path) :
         ItemUpdater(bus, path)
     {
         processPNORImage();
