diff --git a/include/class.filter.php b/include/class.filter.php
index 53801ce0d9d3b2618909ef97866092f7d9edd475..4b5d80845c70b165ce49252d65b7b9afab18e572 100644
--- a/include/class.filter.php
+++ b/include/class.filter.php
@@ -71,6 +71,10 @@ class Filter {
         return $this->ht['execorder'];
     }
 
+    function getEmailId() {
+        return $this->ht['email_id'];
+    }
+
     function isActive(){
         return ($this->ht['isactive']);
     }
@@ -231,6 +235,10 @@ class Filter {
             "dn_contain"=> array("strpos", false)
         );
         $match = false;
+        # Respect configured filter email-id
+        if ($email['emailId'] && $this->getEmailId()
+                && $this->getEmailId() != $email['emailId'])
+            return false;
         foreach ($this->getRules() as $rule) {
             list($func, $pos, $neg) = $how[$rule['h']];
             # TODO: convert $what and $rule['v'] to mb_strtoupper and do
@@ -603,7 +611,7 @@ class EmailFilter {
         } else {
             $this->build(
                 $this->quickList($email['email'], $email['name'],
-                    $email['subject']));
+                    $email['subject'], $email['emailId']));
         }
     }