diff --git a/mainloop.cpp b/mainloop.cpp
index 58806fb..d3987cc 100644
--- a/mainloop.cpp
+++ b/mainloop.cpp
@@ -567,9 +567,6 @@
     // TODO: Issue#3 - Need to make calls to the dbus sensor cache here to
     //       ensure the objects all exist?
 
-    // Used in marking a sensor for removal from dbus
-    std::vector<SensorSet::key_type> destroy;
-
     // Iterate through all the sensors.
     for (auto& i : state)
     {
@@ -637,7 +634,7 @@
                     {
                         // Return code found in sensor removal list
                         // Mark this sensor to be removed from dbus
-                        destroy.push_back(i.first);
+                        rmSensors[i.first] = std::get<0>(i.second);
                         continue;
                     }
                 }
@@ -661,7 +658,7 @@
                         entry("FILE=%s", file.c_str()));
 
 #ifdef REMOVE_ON_FAIL
-                destroy.push_back(i.first);
+                rmSensors[i.first] = std::get<0>(i.second);
 #else
                 exit(EXIT_FAILURE);
 #endif
@@ -670,9 +667,9 @@
     }
 
     // Remove any sensors marked for removal
-    for (auto& i : destroy)
+    for (auto& i : rmSensors)
     {
-        state.erase(i);
+        state.erase(i.first);
     }
 
 #ifndef REMOVE_ON_FAIL
