diff --git a/synapse/api/auth.py b/synapse/api/auth.py
index 65ee1452cecbdd14907bb2dd808e65221d1bbd3f..410f4c11e7061aa03e1d3ff80a76b3e0924c05a4 100644
--- a/synapse/api/auth.py
+++ b/synapse/api/auth.py
@@ -65,6 +65,14 @@ class Auth(object):
                 # FIXME
                 return True
 
+            creation_event = auth_events.get((EventTypes.Create, ""), None)
+
+            if not creation_event:
+                raise SynapseError(
+                    400,
+                    "Room %r does not exist" % (event.room_id,)
+                )
+
             # FIXME: Temp hack
             if event.type == EventTypes.Aliases:
                 return True