diff --git a/test/message/append.cpp b/test/message/append.cpp
index c56402a..b067e18 100644
--- a/test/message/append.cpp
+++ b/test/message/append.cpp
@@ -28,7 +28,8 @@
 // Thread to run the dbus server.
 void* server(void* b)
 {
-    auto bus = sdbusplus::bus::bus(reinterpret_cast<sdbusplus::bus::busp_t>(b));
+    auto bus = sdbusplus::bus::bus(reinterpret_cast<sdbusplus::bus::busp_t>(b),
+                                   std::false_type());
 
     while (1)
     {
@@ -62,8 +63,11 @@
         {
             // Reply and exit.
             sd_bus_reply_method_return(m, nullptr);
+            sd_bus_message_unref(m);
             break;
         }
+
+        sd_bus_message_unref(m);
     }
 
     return nullptr;
diff --git a/test/message/read.cpp b/test/message/read.cpp
index cd31b61..4eb6437 100644
--- a/test/message/read.cpp
+++ b/test/message/read.cpp
@@ -28,7 +28,8 @@
 // Thread to run the dbus server.
 void* server(void* b)
 {
-    auto bus = sdbusplus::bus::bus(reinterpret_cast<sdbusplus::bus::busp_t>(b));
+    auto bus = sdbusplus::bus::bus(reinterpret_cast<sdbusplus::bus::busp_t>(b),
+                                   std::false_type());
 
     while (1)
     {
@@ -58,12 +59,16 @@
                           << std::endl;
             }
             // Reply to client.
-            sd_bus_reply_method_return(m.release(), nullptr);
+            auto sd_m = m.release();
+            sd_bus_reply_method_return(sd_m, nullptr);
+            sd_bus_message_unref(sd_m);
         }
         else if (m.is_method_call(INTERFACE, QUIT_METHOD))
         {
             // Reply and exit.
-            sd_bus_reply_method_return(m.release(), nullptr);
+            auto sd_m = m.release();
+            sd_bus_reply_method_return(sd_m, nullptr);
+            sd_bus_message_unref(sd_m);
             break;
         }
     }
