diff --git a/include/dbus/file_notifier.hpp b/include/dbus/file_notifier.hpp
index 16b61b8..c887ab2 100644
--- a/include/dbus/file_notifier.hpp
+++ b/include/dbus/file_notifier.hpp
@@ -26,7 +26,7 @@
      * @param filePath - full path of the CPER log JSON file.
      * @param entry - index of the DBus file path object.
      */
-    CperFileNotifier(sdbusplus::bus::bus& bus, const std::string& filePath,
+    CperFileNotifier(sdbusplus::bus_t& bus, const std::string& filePath,
                      uint64_t entry) :
         FileNotifierInterface(bus, generatePath(entry).c_str(),
                               action::emit_no_signals),
@@ -46,7 +46,7 @@
      */
     uint64_t entry;
 
-    sdbusplus::bus::bus& bus;
+    sdbusplus::bus_t& bus;
 
     /**
      * @brief Generate a path for the CperFileNotifier DBus object.
diff --git a/include/rde/external_storer_file.hpp b/include/rde/external_storer_file.hpp
index f6a6281..bb853f4 100644
--- a/include/rde/external_storer_file.hpp
+++ b/include/rde/external_storer_file.hpp
@@ -83,13 +83,13 @@
      * will take the ownership of this object.
      */
     ExternalStorerFileInterface(
-        sdbusplus::bus::bus& bus, std::string_view rootPath,
+        sdbusplus::bus_t& bus, std::string_view rootPath,
         std::unique_ptr<FileHandlerInterface> fileHandler);
 
     bool publishJson(std::string_view jsonStr) override;
 
   private:
-    sdbusplus::bus::bus& bus;
+    sdbusplus::bus_t& bus;
     std::string rootPath;
     std::unique_ptr<FileHandlerInterface> fileHandler;
     std::string logServiceId;
diff --git a/include/rde/notifier_dbus_handler.hpp b/include/rde/notifier_dbus_handler.hpp
index efcbd86..e90fa71 100644
--- a/include/rde/notifier_dbus_handler.hpp
+++ b/include/rde/notifier_dbus_handler.hpp
@@ -21,7 +21,7 @@
      *
      * @param bus - bus to attache to.
      */
-    explicit CperFileNotifierHandler(sdbusplus::bus::bus& bus);
+    explicit CperFileNotifierHandler(sdbusplus::bus_t& bus);
 
     /**
      * @brief Create a DBus object with the provided filePath value.
@@ -31,8 +31,8 @@
     void createEntry(const std::string& filePath);
 
   private:
-    sdbusplus::bus::bus& bus;
-    sdbusplus::server::manager::manager objManager;
+    sdbusplus::bus_t& bus;
+    sdbusplus::server::manager_t objManager;
 
     /**
      * @brief A vector to keep track of DBus FilePath objects.
diff --git a/src/main.cpp b/src/main.cpp
index e81150a..2c94340 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -91,7 +91,7 @@
     std::shared_ptr<sdbusplus::asio::connection> conn =
         std::make_shared<sdbusplus::asio::connection>(io);
     conn->request_name("xyz.openbmc_project.bios_bmc_smm_error_logger");
-    sdbusplus::bus::bus& bus = static_cast<sdbusplus::bus::bus&>(*conn);
+    sdbusplus::bus_t& bus = static_cast<sdbusplus::bus_t&>(*conn);
 
     std::unique_ptr<rde::FileHandlerInterface> fileIface =
         std::make_unique<rde::ExternalStorerFileWriter>();
diff --git a/src/rde/external_storer_file.cpp b/src/rde/external_storer_file.cpp
index 97f2b10..26aa6d7 100644
--- a/src/rde/external_storer_file.cpp
+++ b/src/rde/external_storer_file.cpp
@@ -44,7 +44,7 @@
 }
 
 ExternalStorerFileInterface::ExternalStorerFileInterface(
-    sdbusplus::bus::bus& bus, std::string_view rootPath,
+    sdbusplus::bus_t& bus, std::string_view rootPath,
     std::unique_ptr<FileHandlerInterface> fileHandler) :
     bus(bus),
     rootPath(rootPath), fileHandler(std::move(fileHandler)), logServiceId(""),
diff --git a/src/rde/notifier_dbus_handler.cpp b/src/rde/notifier_dbus_handler.cpp
index c7bf310..2151925 100644
--- a/src/rde/notifier_dbus_handler.cpp
+++ b/src/rde/notifier_dbus_handler.cpp
@@ -5,7 +5,7 @@
 namespace rde
 {
 
-CperFileNotifierHandler::CperFileNotifierHandler(sdbusplus::bus::bus& bus) :
+CperFileNotifierHandler::CperFileNotifierHandler(sdbusplus::bus_t& bus) :
     bus(bus), objManager(bus, CperFileNotifier::cperBasePath)
 {}
 
diff --git a/test/external_storer_file_test.cpp b/test/external_storer_file_test.cpp
index f2718aa..04f6b2b 100644
--- a/test/external_storer_file_test.cpp
+++ b/test/external_storer_file_test.cpp
@@ -53,7 +53,7 @@
 
   protected:
     sdbusplus::SdBusMock sdbusMock;
-    sdbusplus::bus::bus bus;
+    sdbusplus::bus_t bus;
     std::unique_ptr<FileHandlerInterface> mockFileWriter;
     std::unique_ptr<ExternalStorerFileInterface> exStorer;
     MockFileWriter* mockFileWriterPtr;
