diff --git a/test/bus/match.cpp b/test/bus/match.cpp
index 3fa1647..ee76972 100644
--- a/test/bus/match.cpp
+++ b/test/bus/match.cpp
@@ -50,7 +50,7 @@
 TEST_F(Match, FunctorIs_LambdaTakingMessage)
 {
     bool triggered = false;
-    auto trigger = [&triggered](sdbusplus::message::message& /*m*/) {
+    auto trigger = [&triggered](sdbusplus::message_t& /*m*/) {
         triggered = true;
     };
 
@@ -74,7 +74,7 @@
       public:
         bool triggered = false;
 
-        void callback(sdbusplus::message::message& /*m*/)
+        void callback(sdbusplus::message_t& /*m*/)
         {
             triggered = true;
         }
diff --git a/test/message/append.cpp b/test/message/append.cpp
index 288199b..720efb8 100644
--- a/test/message/append.cpp
+++ b/test/message/append.cpp
@@ -39,7 +39,7 @@
             .WillRepeatedly(Return(0));
     };
 
-    sdbusplus::message::message new_message()
+    sdbusplus::message_t new_message()
     {
         return sdbusplus::get_mocked_new(&mock).new_method_call(
             nullptr, nullptr, nullptr, nullptr);
diff --git a/test/message/read.cpp b/test/message/read.cpp
index d1d78e7..6131c24 100644
--- a/test/message/read.cpp
+++ b/test/message/read.cpp
@@ -43,7 +43,7 @@
             .WillRepeatedly(Return(0));
     };
 
-    sdbusplus::message::message new_message()
+    sdbusplus::message_t new_message()
     {
         return sdbusplus::get_mocked_new(&mock).new_method_call(
             nullptr, nullptr, nullptr, nullptr);
diff --git a/test/server/message_variant.cpp b/test/server/message_variant.cpp
index fef1eff..0fcde8d 100644
--- a/test/server/message_variant.cpp
+++ b/test/server/message_variant.cpp
@@ -9,7 +9,7 @@
 struct Object : public ::testing::Test
 {
     sdbusplus::bus::bus bus = sdbusplus::bus::new_default();
-    sdbusplus::message::message msg = bus.new_method_call(
+    sdbusplus::message_t msg = bus.new_method_call(
         "xyz.openbmc_project.sdbusplus.test.Object",
         "/xyz/openbmc_project/sdbusplus/test/object",
         "xyz.openbmc_project.sdbusplus.test.Object", "Unused");
