diff --git a/synapse/push/bulk_push_rule_evaluator.py b/synapse/push/bulk_push_rule_evaluator.py
index baa32a4e1859faa63671f99720adfe14ff9fbc32..06250d2d96fd03a98ceaddb6c95238b86902deae 100644
--- a/synapse/push/bulk_push_rule_evaluator.py
+++ b/synapse/push/bulk_push_rule_evaluator.py
@@ -50,6 +50,9 @@ def _get_rules(room_id, user_ids, store):
     # fetch disabled rules, but this won't account for any server default
     # rules the user has disabled, so we need to do this too.
     for uid in user_ids:
+        if uid not in rules_enabled_by_user:
+            continue
+
         user_enabled_map = rules_enabled_by_user[uid]
 
         for rule in rules_by_user[uid]: