diff --git a/bmc-vmi-ca/ca_cert_entry.hpp b/bmc-vmi-ca/ca_cert_entry.hpp
index a461632..78f13e8 100644
--- a/bmc-vmi-ca/ca_cert_entry.hpp
+++ b/bmc-vmi-ca/ca_cert_entry.hpp
@@ -45,9 +45,8 @@
      *  @param[in] csr     - csr string
      *  @param[in] cert    - client certificate
      */
-    Entry(sdbusplus::bus::bus& bus, const std::string& objPath,
-          uint32_t entryId, std::string& csr, std::string& cert,
-          CACertMgr& manager) :
+    Entry(sdbusplus::bus_t& bus, const std::string& objPath, uint32_t entryId,
+          std::string& csr, std::string& cert, CACertMgr& manager) :
         internal::EntryInterface(bus, objPath.c_str(),
                                  internal::EntryInterface::action::defer_emit),
         bus(bus), id(entryId), manager(manager)
@@ -64,7 +63,7 @@
 
   protected:
     /** @brief sdbusplus handler */
-    sdbusplus::bus::bus& bus;
+    sdbusplus::bus_t& bus;
     uint32_t id;
     /** @brief object path */
     std::string objectPath;
diff --git a/bmc-vmi-ca/ca_certs_manager.hpp b/bmc-vmi-ca/ca_certs_manager.hpp
index 951c0cf..f99a750 100644
--- a/bmc-vmi-ca/ca_certs_manager.hpp
+++ b/bmc-vmi-ca/ca_certs_manager.hpp
@@ -38,7 +38,7 @@
      *  @param[in] bus - Bus to attach to.
      *  @param[in] path - Path to attach at.
      */
-    CACertMgr(sdbusplus::bus::bus& bus, const char* path) :
+    CACertMgr(sdbusplus::bus_t& bus, const char* path) :
         internal::ManagerInterface(bus, path), bus(bus), objectPath(path),
         lastEntryId(0){};
 
@@ -64,7 +64,7 @@
 
   private:
     /** @brief sdbusplus DBus bus connection. */
-    sdbusplus::bus::bus& bus;
+    sdbusplus::bus_t& bus;
     /** @brief object path */
     std::string objectPath;
     /** @brief Id of the last certificate entry */
diff --git a/bmc-vmi-ca/mainapp.cpp b/bmc-vmi-ca/mainapp.cpp
index c33a69d..062a60d 100644
--- a/bmc-vmi-ca/mainapp.cpp
+++ b/bmc-vmi-ca/mainapp.cpp
@@ -11,7 +11,7 @@
     static constexpr auto objPath = "/xyz/openbmc_project/certs/ca";
 
     // Add sdbusplus ObjectManager
-    sdbusplus::server::manager::manager objManager(bus, objPath);
+    sdbusplus::server::manager_t objManager(bus, objPath);
 
     // Get default event loop
     auto event = sdeventplus::Event::get_default();
diff --git a/certificate.cpp b/certificate.cpp
index f5e8ae9..5ebb4f7 100644
--- a/certificate.cpp
+++ b/certificate.cpp
@@ -228,7 +228,7 @@
     }
 }
 
-Certificate::Certificate(sdbusplus::bus::bus& bus, const std::string& objPath,
+Certificate::Certificate(sdbusplus::bus_t& bus, const std::string& objPath,
                          CertificateType type, const std::string& installPath,
                          const std::string& uploadPath, Watch* watch,
                          Manager& parent) :
@@ -266,7 +266,7 @@
     this->emit_object_added();
 }
 
-Certificate::Certificate(sdbusplus::bus::bus& bus, const std::string& objPath,
+Certificate::Certificate(sdbusplus::bus_t& bus, const std::string& objPath,
                          const CertificateType& type,
                          const std::string& installPath, X509_STORE& x509Store,
                          const std::string& pem, Watch* watchPtr,
diff --git a/certificate.hpp b/certificate.hpp
index 4e90ea1..cb4eba6 100644
--- a/certificate.hpp
+++ b/certificate.hpp
@@ -97,7 +97,7 @@
      *  @param[in] watchPtr - watch on self signed certificate
      *  @param[in] parent - the manager that owns the certificate
      */
-    Certificate(sdbusplus::bus::bus& bus, const std::string& objPath,
+    Certificate(sdbusplus::bus_t& bus, const std::string& objPath,
                 CertificateType type, const std::string& installPath,
                 const std::string& uploadPath, Watch* watch, Manager& parent);
 
@@ -115,7 +115,7 @@
      *  @param[in] parent - Pointer to the manager which owns the constructed
      * Certificate object
      */
-    Certificate(sdbusplus::bus::bus& bus, const std::string& objPath,
+    Certificate(sdbusplus::bus_t& bus, const std::string& objPath,
                 const CertificateType& type, const std::string& installPath,
                 X509_STORE& x509Store, const std::string& pem, Watch* watchPtr,
                 Manager& parent);
diff --git a/certs_manager.cpp b/certs_manager.cpp
index 77f279c..936b470 100644
--- a/certs_manager.cpp
+++ b/certs_manager.cpp
@@ -130,7 +130,7 @@
 
 } // namespace
 
-Manager::Manager(sdbusplus::bus::bus& bus, sdeventplus::Event& event,
+Manager::Manager(sdbusplus::bus_t& bus, sdeventplus::Event& event,
                  const char* path, CertificateType type,
                  const std::string& unit, const std::string& installPath) :
     internal::ManagerInterface(bus, path),
@@ -1096,7 +1096,7 @@
             method.append(unit, "replace");
             bus.call_noreply(method);
         }
-        catch (const sdbusplus::exception::exception& e)
+        catch (const sdbusplus::exception_t& e)
         {
             log<level::ERR>("Failed to reload or restart service",
                             entry("ERR=%s", e.what()),
diff --git a/certs_manager.hpp b/certs_manager.hpp
index fe35a3f..02ea9bb 100644
--- a/certs_manager.hpp
+++ b/certs_manager.hpp
@@ -63,8 +63,8 @@
      *  @param[in] unit - Unit consumed by this certificate.
      *  @param[in] installPath - Certificate installation path.
      */
-    Manager(sdbusplus::bus::bus& bus, sdeventplus::Event& event,
-            const char* path, CertificateType type, const std::string& unit,
+    Manager(sdbusplus::bus_t& bus, sdeventplus::Event& event, const char* path,
+            CertificateType type, const std::string& unit,
             const std::string& installPath);
 
     /** @brief Implementation for Install
@@ -306,7 +306,7 @@
                              const Certificate* const certToDrop = nullptr);
 
     /** @brief sdbusplus handler */
-    sdbusplus::bus::bus& bus;
+    sdbusplus::bus_t& bus;
 
     // sdevent Event handle
     sdeventplus::Event& event;
diff --git a/csr.cpp b/csr.cpp
index 5b44c62..5caed9d 100644
--- a/csr.cpp
+++ b/csr.cpp
@@ -31,7 +31,7 @@
 using X509ReqPtr = std::unique_ptr<X509_REQ, decltype(&::X509_REQ_free)>;
 using BIOPtr = std::unique_ptr<BIO, decltype(&::BIO_free_all)>;
 
-CSR::CSR(sdbusplus::bus::bus& bus, const char* path, std::string&& installPath,
+CSR::CSR(sdbusplus::bus_t& bus, const char* path, std::string&& installPath,
          const Status& status) :
     internal::CSRInterface(bus, path,
                            internal::CSRInterface::action::defer_emit),
diff --git a/csr.hpp b/csr.hpp
index eb02df6..05d5ba6 100644
--- a/csr.hpp
+++ b/csr.hpp
@@ -37,7 +37,7 @@
      *  @param[in] installPath - Certificate installation path.
      *  @param[in] status - Status of Generate CSR request
      */
-    CSR(sdbusplus::bus::bus& bus, const char* path, std::string&& installPath,
+    CSR(sdbusplus::bus_t& bus, const char* path, std::string&& installPath,
         const Status& status);
     /** @brief Return CSR
      */
diff --git a/mainapp.cpp b/mainapp.cpp
index c6b9a7d..6e37ca4 100644
--- a/mainapp.cpp
+++ b/mainapp.cpp
@@ -51,7 +51,7 @@
     auto objPath = std::string(objectNamePrefix) + '/' + arguments.typeStr +
                    '/' + arguments.endpoint;
     // Add sdbusplus ObjectManager
-    sdbusplus::server::manager::manager objManager(bus, objPath.c_str());
+    sdbusplus::server::manager_t objManager(bus, objPath.c_str());
 
     // Get default event loop
     auto event = sdeventplus::Event::get_default();
diff --git a/test/ca_certs_manager_test.cpp b/test/ca_certs_manager_test.cpp
index fab3c54..3b4e9c5 100644
--- a/test/ca_certs_manager_test.cpp
+++ b/test/ca_certs_manager_test.cpp
@@ -20,7 +20,7 @@
 class MockCACertMgr : public CACertMgr
 {
   public:
-    MockCACertMgr(sdbusplus::bus::bus& bus, const char* path) :
+    MockCACertMgr(sdbusplus::bus_t& bus, const char* path) :
         CACertMgr(bus, path)
     {
     }
@@ -57,7 +57,7 @@
     }
 
   protected:
-    sdbusplus::bus::bus bus;
+    sdbusplus::bus_t bus;
 };
 
 TEST_F(TestCACertMgr, testObjectCreation)
diff --git a/test/certs_manager_test.cpp b/test/certs_manager_test.cpp
index b3a1563..6ab7ae9 100644
--- a/test/certs_manager_test.cpp
+++ b/test/certs_manager_test.cpp
@@ -204,7 +204,7 @@
     }
 
   protected:
-    sdbusplus::bus::bus bus;
+    sdbusplus::bus_t bus;
     std::string certificateFile, CSRFile, privateKeyFile, rsaPrivateKeyFilePath;
 
     std::string certDir;
@@ -260,7 +260,7 @@
   public:
     static constexpr std::string_view unitToRestartInTest =
         "xyz.openbmc_project.awesome-service";
-    ManagerInTest(sdbusplus::bus::bus& bus, sdeventplus::Event& event,
+    ManagerInTest(sdbusplus::bus_t& bus, sdeventplus::Event& event,
                   const char* path, CertificateType type,
                   const std::string& unit, const std::string& installPath) :
         Manager(bus, event, path, type, unit, installPath)
@@ -898,7 +898,7 @@
     }
 
   protected:
-    sdbusplus::bus::bus bus;
+    sdbusplus::bus_t bus;
     std::string certificateFile;
     std::string keyFile;
     std::string certDir;
@@ -1599,7 +1599,7 @@
         });
     };
 
-    sdbusplus::bus::bus bus;
+    sdbusplus::bus_t bus;
     fs::path authoritiesListFolder;
     fs::path sourceAuthoritiesListFile;
 };
