diff --git a/synapse/storage/devices.py b/synapse/storage/devices.py
index e68ee501523075e797f90e9b4c4444e12e8020c5..3a6d2cbcd6f6fe150cf5504ba43c836232984664 100644
--- a/synapse/storage/devices.py
+++ b/synapse/storage/devices.py
@@ -463,7 +463,7 @@ class DeviceStore(SQLBaseStore):
             SELECT user_id FROM device_lists_stream WHERE stream_id > ?
         """
         rows = yield self._execute("get_user_whose_devices_changed", None, sql, from_key)
-        defer.returnValue(set(row["user_id"] for row in rows))
+        defer.returnValue(set(row[0] for row in rows))
 
     def get_all_device_list_changes_for_remotes(self, from_key):
         """Return a list of `(stream_id, user_id, destination)` which is the