diff --git a/sensors/builder.cpp b/sensors/builder.cpp
index e71e9ce..166977b 100644
--- a/sensors/builder.cpp
+++ b/sensors/builder.cpp
@@ -82,17 +82,15 @@
                 {
                     ri = DbusPassive::createDbusPassive(
                         passiveListeningBus, info->type, name,
-                        std::make_unique<DbusHelper>(
-                            sdbusplus::bus::new_system()),
-                        info, redundancy);
+                        std::make_unique<DbusHelper>(passiveListeningBus), info,
+                        redundancy);
                 }
                 else
                 {
                     ri = DbusPassive::createDbusPassive(
                         passiveListeningBus, info->type, name,
-                        std::make_unique<DbusHelper>(
-                            sdbusplus::bus::new_system()),
-                        info, nullptr);
+                        std::make_unique<DbusHelper>(passiveListeningBus), info,
+                        nullptr);
                 }
                 if (ri == nullptr)
                 {
@@ -134,15 +132,13 @@
                     {
                         wi = DbusWritePercent::createDbusWrite(
                             info->writePath, info->min, info->max,
-                            std::make_unique<DbusHelper>(
-                                sdbusplus::bus::new_system()));
+                            std::make_unique<DbusHelper>(passiveListeningBus));
                     }
                     else
                     {
                         wi = DbusWrite::createDbusWrite(
                             info->writePath, info->min, info->max,
-                            std::make_unique<DbusHelper>(
-                                sdbusplus::bus::new_system()));
+                            std::make_unique<DbusHelper>(passiveListeningBus));
                     }
 
                     if (wi == nullptr)
