diff --git a/dump/dump_utils.cpp b/dump/dump_utils.cpp
index 3e0105e..1b2de79 100644
--- a/dump/dump_utils.cpp
+++ b/dump/dump_utils.cpp
@@ -18,11 +18,11 @@
 {
     bool inProgress = true;
     auto bus = sdbusplus::bus::new_system();
-    auto match = sdbusplus::bus::match::match(
+    auto match = sdbusplus::bus::match_t(
         bus,
         sdbusplus::bus::match::rules::propertiesChanged(
             path, "xyz.openbmc_project.Common.Progress"),
-        [&](sdbusplus::message::message& msg) {
+        [&](sdbusplus::message_t& msg) {
         std::string interface;
         std::map<std::string, std::variant<std::string, uint8_t>> property;
         msg.read(interface, property);
@@ -89,7 +89,7 @@
 
         monitorDumpCreation(reply.str, SBE_DUMP_TIMEOUT);
     }
-    catch (const sdbusplus::exception::exception& e)
+    catch (const sdbusplus::exception_t& e)
     {
         lg2::error("D-Bus call createDump exception OBJPATH={OBJPATH}, "
                    "INTERFACE={INTERFACE}, EXCEPTION={ERROR}",
@@ -114,7 +114,7 @@
     }
 }
 
-std::string getService(sdbusplus::bus::bus& bus, const std::string& intf,
+std::string getService(sdbusplus::bus_t& bus, const std::string& intf,
                        const std::string& path)
 {
     constexpr auto MAPPER_BUSNAME = "xyz.openbmc_project.ObjectMapper";
@@ -142,7 +142,7 @@
         }
         return mapperResponse.begin()->first;
     }
-    catch (const sdbusplus::exception::exception& ex)
+    catch (const sdbusplus::exception_t& ex)
     {
         lg2::error(
             "Mapper call failed for GetObject errorMsg({ERROR}), path({PATH}),"
