diff --git a/tests/src/stubs/dbus_sensor_object.cpp b/tests/src/stubs/dbus_sensor_object.cpp
index c3d4170..9d6f185 100644
--- a/tests/src/stubs/dbus_sensor_object.cpp
+++ b/tests/src/stubs/dbus_sensor_object.cpp
@@ -15,18 +15,13 @@
     ioc(ioc),
     bus(bus), objServer(objServer)
 {
-    sensorIface = objServer->add_interface(path(), interface());
-
-    sensorIface->register_property_r(property.value(), double{},
-                                     sdbusplus::vtable::property_::emits_change,
-                                     [this](const auto&) { return value; });
-
-    sensorIface->initialize();
-}
-
-DbusSensorObject::~DbusSensorObject()
-{
-    objServer->remove_interface(sensorIface);
+    sensorIface = objServer->add_unique_interface(
+        path(), interface(), [this](auto& iface) {
+            iface.register_property_r(
+                property.value(), value,
+                sdbusplus::vtable::property_::emits_change,
+                [this](const auto&) { return value; });
+        });
 }
 
 void DbusSensorObject::setValue(double v)
diff --git a/tests/src/stubs/dbus_sensor_object.hpp b/tests/src/stubs/dbus_sensor_object.hpp
index 99271fa..45ee4c7 100644
--- a/tests/src/stubs/dbus_sensor_object.hpp
+++ b/tests/src/stubs/dbus_sensor_object.hpp
@@ -15,7 +15,6 @@
         boost::asio::io_context& ioc,
         const std::shared_ptr<sdbusplus::asio::connection>& bus,
         const std::shared_ptr<sdbusplus::asio::object_server>& objServer);
-    ~DbusSensorObject();
 
     static const char* path();
     static const char* interface();
@@ -35,7 +34,7 @@
     std::shared_ptr<sdbusplus::asio::connection> bus;
     std::shared_ptr<sdbusplus::asio::object_server> objServer;
 
-    std::shared_ptr<sdbusplus::asio::dbus_interface> sensorIface;
+    std::unique_ptr<sdbusplus::asio::dbus_interface> sensorIface;
 
     double value = 0.0;
 };
