diff --git a/synapse/storage/media_repository.py b/synapse/storage/media_repository.py
index 5e39daa2104073ab07789c5379aa23728463d0b7..1f2eab98e39ffaba1e496b4319a11ff237f873fa 100644
--- a/synapse/storage/media_repository.py
+++ b/synapse/storage/media_repository.py
@@ -267,7 +267,7 @@ class MediaRepositoryStore(SQLBaseStore):
     def get_url_cache_media_before(self, before_ts):
         sql = (
             "SELECT media_id FROM local_media_repository"
-            " WHERE created_ts < ?"
+            " WHERE created_ts < ? AND url_cache IS NOT NULL"
             " ORDER BY created_ts ASC"
             " LIMIT 100"
         )