diff --git a/synapse/rest/media/v1/base_resource.py b/synapse/rest/media/v1/base_resource.py
index 60751da1d15bbdfd9318cfa8149d5b24d7b524f9..b0e997b47867ad4306e36705664e76ade2633321 100644
--- a/synapse/rest/media/v1/base_resource.py
+++ b/synapse/rest/media/v1/base_resource.py
@@ -150,7 +150,7 @@ class BaseMediaResource(Resource):
                     upload_name = None
                 else:
                     upload_name_utf8 = params.get("filename*", None)
-                    if upload_name_utf8.lower().startswith("utf-8''"):
+                    if upload_name and upload_name_utf8.lower().startswith("utf-8''"):
                         upload_name = upload_name_utf8[7:]
                 if upload_name:
                     upload_name = urlparse.unquote(upload_name)