diff --git a/image_manager.hpp b/image_manager.hpp
index 5c69536..4938823 100644
--- a/image_manager.hpp
+++ b/image_manager.hpp
@@ -9,8 +9,6 @@
 namespace manager
 {
 
-namespace MatchRules = sdbusplus::bus::match::rules;
-
 /** @class Manager
  *  @brief Contains a map of Version dbus objects.
  *  @details The software image manager class that contains the Version dbus
@@ -23,16 +21,7 @@
          *
          * @param[in] bus - The Dbus bus object
          */
-        Manager(sdbusplus::bus::bus& bus) :
-                bus(bus),
-                versionMatch(
-                        bus,
-                        MatchRules::interfacesRemoved() +
-                        MatchRules::path(SOFTWARE_OBJPATH),
-                        std::bind(
-                                std::mem_fn(&Manager::removeVersion),
-                                this,
-                                std::placeholders::_1)){};
+        Manager(sdbusplus::bus::bus& bus) : bus(bus){};
 
         /**
          * @brief Verify and untar the tarball. Verify the manifest file.
@@ -52,13 +41,6 @@
         void erase(std::string entryId);
 
     private:
-        /** @brief Callback function for Software.Version match.
-         *  @details Removes a version object.
-         *
-         * @param[in]  msg - Data associated with subscribed signal
-         */
-        void removeVersion(sdbusplus::message::message& msg);
-
         /** @brief Persistent map of Version dbus objects and their
           * version id */
         std::map<std::string, std::unique_ptr<Version>> versions;
@@ -66,9 +48,6 @@
         /** @brief Persistent sdbusplus DBus bus connection. */
         sdbusplus::bus::bus& bus;
 
-        /** @brief sdbusplus signal match for Software.Version */
-        sdbusplus::bus::match_t versionMatch;
-
         /**
          * @brief Untar the tarball.
          *
