diff --git a/src/PerformProbe.cpp b/src/PerformProbe.cpp
index bd3e1b3..adf45d6 100644
--- a/src/PerformProbe.cpp
+++ b/src/PerformProbe.cpp
@@ -214,7 +214,8 @@
 PerformProbe::PerformProbe(
     const std::vector<std::string>& probeCommand,
     std::shared_ptr<PerformScan>& scanPtr,
-    std::function<void(FoundDeviceT&, const DBusProbeObjectT&)>&& callback) :
+    std::function<void(FoundDeviceT&, const MapperGetSubTreeResponse&)>&&
+        callback) :
     _probeCommand(probeCommand),
     scan(scanPtr), _callback(std::move(callback))
 {}
diff --git a/src/PerformScan.cpp b/src/PerformScan.cpp
index 78d1cad..dd3e3d4 100644
--- a/src/PerformScan.cpp
+++ b/src/PerformScan.cpp
@@ -300,8 +300,9 @@
         auto thisRef = shared_from_this();
         auto probePointer = std::make_shared<PerformProbe>(
             probeCommand, thisRef,
-            [&, recordPtr, probeName](FoundDeviceT& foundDevices,
-                                      const DBusProbeObjectT& allInterfaces) {
+            [&, recordPtr,
+             probeName](FoundDeviceT& foundDevices,
+                        const MapperGetSubTreeResponse& allInterfaces) {
                 _passed = true;
                 std::set<nlohmann::json> usedNames;
                 passedProbes.push_back(probeName);
@@ -377,7 +378,7 @@
 
                 std::optional<std::string> replaceStr;
 
-                DBusProbeObjectT::mapped_type emptyInterfaces;
+                MapperGetSubTreeResponse::mapped_type emptyInterfaces;
                 boost::container::flat_map<std::string, BasicVariantType>
                     emptyProps;
                 emptyInterfaces.emplace(std::string{}, emptyProps);
@@ -395,8 +396,8 @@
                     // interface, such as if it was just TRUE, then
                     // templateCharReplace will just get passed in an empty
                     // map.
-                    const DBusProbeObjectT::mapped_type* allInterfacesOnPath =
-                        &emptyInterfaces;
+                    const MapperGetSubTreeResponse::mapped_type*
+                        allInterfacesOnPath = &emptyInterfaces;
 
                     auto ifacesIt = allInterfaces.find(path);
                     if (ifacesIt != allInterfaces.end())
