diff --git a/powermode.cpp b/powermode.cpp
index e2f0837..589fb8f 100644
--- a/powermode.cpp
+++ b/powermode.cpp
@@ -63,7 +63,7 @@
 };
 
 // Called when DBus power mode gets changed
-void PowerMode::modeChanged(sdbusplus::message::message& msg)
+void PowerMode::modeChanged(sdbusplus::message_t& msg)
 {
     std::map<std::string, std::variant<std::string>> properties{};
     std::string interface;
@@ -399,7 +399,7 @@
     return status;
 }
 
-void PowerMode::ipsChanged(sdbusplus::message::message& msg)
+void PowerMode::ipsChanged(sdbusplus::message_t& msg)
 {
     bool parmsChanged = false;
     std::string interface;
@@ -718,7 +718,7 @@
 }
 
 // Called when PowerModeProperties defaults are available on DBus
-void PowerMode::defaultsReady(sdbusplus::message::message& msg)
+void PowerMode::defaultsReady(sdbusplus::message_t& msg)
 {
     std::map<std::string, std::variant<std::string>> properties{};
     std::string interface;
@@ -773,7 +773,7 @@
             return true;
         }
     }
-    catch (const sdbusplus::exception::exception& e)
+    catch (const sdbusplus::exception_t& e)
     {
         log<level::ERR>(
             fmt::format("Unable to read Default Power Mode: {}", e.what())
@@ -813,7 +813,7 @@
         auto reply = bus.call(method);
         reply.read(ipsProperties);
     }
-    catch (const sdbusplus::exception::exception& e)
+    catch (const sdbusplus::exception_t& e)
     {
         log<level::ERR>(
             fmt::format(
