diff --git a/synapse/handlers/typing.py b/synapse/handlers/typing.py
index 026bd2b9d43cfc0c3010a5279a7435f7c7e027df..1ed220d87141d66ed5323e7206a097b407107aa1 100644
--- a/synapse/handlers/typing.py
+++ b/synapse/handlers/typing.py
@@ -260,8 +260,8 @@ class TypingNotificationEventSource(object):
         )
 
         events = []
-        for room_id in handler._room_serials:
-            if room_id not in joined_room_ids:
+        for room_id in joined_room_ids:
+            if room_id not in handler._room_serials:
                 continue
             if handler._room_serials[room_id] <= from_key:
                 continue