diff --git a/fault-monitor/fru-fault-monitor.cpp b/fault-monitor/fru-fault-monitor.cpp
index 1988d1b..cb6c4e4 100644
--- a/fault-monitor/fru-fault-monitor.cpp
+++ b/fault-monitor/fru-fault-monitor.cpp
@@ -253,30 +253,6 @@
 void Remove::removed(sdbusplus::message::message& msg)
 {
     auto bus = msg.get_bus();
-    std::string assoc;
-    msg.read(assoc);
-
-    if (assoc.compare("org.openbmc.Association"))
-    {
-        //Skip if not about association
-        return;
-    }
-
-    std::map<std::string, std::vector<std::string>> endPoints;
-    msg.read(endPoints);
-    auto it = endPoints.find("endpoints");
-
-    if (it == endPoints.end())
-    {
-        //No end points,skip
-        return;
-    }
-
-    if (!((*it).second.empty()))
-    {
-        //Skip, end points are not empty
-        return;
-    }
 
     action(bus, inventoryPath, false);
     return;
diff --git a/fault-monitor/fru-fault-monitor.hpp b/fault-monitor/fru-fault-monitor.hpp
index 897ef05..77d3be2 100644
--- a/fault-monitor/fru-fault-monitor.hpp
+++ b/fault-monitor/fru-fault-monitor.hpp
@@ -124,10 +124,9 @@
             namespace MatchRules = sdbusplus::bus::match::rules;
 
             std::string matchStmt =
-                    MatchRules::type::signal() +
-                    MatchRules::interface("org.freedesktop.DBus.Properties") +
-                    MatchRules::member("PropertiesChanged") +
-                    MatchRules::path(path + "/" + CALLOUT_REV_ASSOCIATION);
+                    MatchRules::interfacesRemoved() +
+                    MatchRules::argNpath(
+                            0, path + "/" + CALLOUT_REV_ASSOCIATION);
 
             return matchStmt;
         }
