diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py
index 8a3e04c28a1498177c6c6bddc9f783313e7d5faa..a8f8b9a75ad55a60287090e603ff0b29b276a762 100644
--- a/synapse/handlers/sync.py
+++ b/synapse/handlers/sync.py
@@ -565,13 +565,12 @@ class SyncHandler(object):
         if sync_result_builder.since_token is not None:
             since_stream_id = int(sync_result_builder.since_token.to_device_key)
 
-        if since_stream_id:
+        if since_stream_id != int(now_token.to_device_key):
             logger.debug("Deleting messages up to %d", since_stream_id)
             yield self.store.delete_messages_for_device(
                 user_id, device_id, since_stream_id
             )
 
-        if since_stream_id and since_stream_id == int(now_token.to_device_key):
             logger.debug("Getting messages up to %d", now_token.to_device_key)
             messages, stream_id = yield self.store.get_new_messages_for_device(
                 user_id, device_id, now_token.to_device_key