diff --git a/control/functor.hpp b/control/functor.hpp
index 06e8db9..8e85fcb 100644
--- a/control/functor.hpp
+++ b/control/functor.hpp
@@ -107,7 +107,9 @@
         {
             try
             {
+                auto service = zone.getService(_path, _iface);
                 auto val = util::SDBusPlus::getProperty<T>(bus,
+                                                           service,
                                                            _path,
                                                            _iface,
                                                            _property);
@@ -306,9 +308,7 @@
             try
             {
                 // Initialize NameOwnerChanged data store with service name
-                name = util::SDBusPlus::getService(bus,
-                                                   _path,
-                                                   _iface);
+                name = zone.getService(_path, _iface);
                 hasOwner = util::SDBusPlus::callMethodAndRead<bool>(
                         bus,
                         "org.freedesktop.DBus",
diff --git a/control/zone.cpp b/control/zone.cpp
index 41ee0cc..325a5b8 100644
--- a/control/zone.cpp
+++ b/control/zone.cpp
@@ -186,10 +186,8 @@
         bool hasOwner = false;
         try
         {
-            name = util::SDBusPlus::getService(
-                    _bus,
-                    it->first,
-                    std::get<intfPos>(it->second));
+            name = getService(it->first,
+                              std::get<intfPos>(it->second));
             hasOwner = util::SDBusPlus::callMethodAndRead<bool>(
                     _bus,
                     "org.freedesktop.DBus",
