diff --git a/synapse/rest/media/v1/preview_url_resource.py b/synapse/rest/media/v1/preview_url_resource.py
index 4e4100bdec4207edcd09f19d432214da073c5ae4..33f35fb44eb8f2b5b004ece6e975bcf2a4e36378 100644
--- a/synapse/rest/media/v1/preview_url_resource.py
+++ b/synapse/rest/media/v1/preview_url_resource.py
@@ -449,7 +449,7 @@ def _iterate_over_text(tree, *tags_to_ignore):
         el = elements.next()
         if isinstance(el, basestring):
             yield el
-        elif el.tag not in tags_to_ignore:
+        elif el is not None and el.tag not in tags_to_ignore:
             # el.text is the text before the first child, so we can immediately
             # return it if the text exists.
             if el.text: