diff --git a/synapse/handlers/presence.py b/synapse/handlers/presence.py
index 774df46aba0c30a912cca746f9be5a9f5938f599..47cfe62c82eed443fc1dd35c345755ea3a12e8e0 100644
--- a/synapse/handlers/presence.py
+++ b/synapse/handlers/presence.py
@@ -881,7 +881,7 @@ class PresenceEventSource(object):
             if serial < from_key:
                 break
 
-            latest_serial = max(cached.serial, serial)
+            latest_serial = max(latest_serial, serial)
             for u in user_ids:
                 updates.append({
                     "type": "m.presence",