diff --git a/manager.cpp b/manager.cpp
index e100cd9..a5cdf89 100644
--- a/manager.cpp
+++ b/manager.cpp
@@ -183,16 +183,20 @@
     const details::DbusSignal& event,
     const EventInfo& info)
 {
-    auto& filter = *std::get<1>(event);
+    auto& filters = std::get<1>(event);
     auto& actions = std::get<1>(info);
 
-    if (filter(msg, *this))
+    for (auto& f : filters)
     {
-        for (auto& action : actions)
+        if (!(*f)(msg, *this))
         {
-            (*action)(*this);
+            return;
         }
     }
+    for (auto& action : actions)
+    {
+        (*action)(*this);
+    }
 }
 
 void Manager::destroyObjects(
