diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py
index 64956c320c13a3e5252a55c386c536dc3bb8bfc1..8171e9eb45eb48cc894c6f2efc3adb11c1344d7e 100644
--- a/synapse/handlers/room.py
+++ b/synapse/handlers/room.py
@@ -136,6 +136,17 @@ class RoomCreationHandler(BaseRoomHandler):
                 content={"name": name},
             )
 
+            yield handle_event(name_event)
+        elif room_alias:
+            name = room_alias.to_string()
+            name_event = self.event_factory.create_event(
+                etype=RoomNameEvent.TYPE,
+                room_id=room_id,
+                user_id=user_id,
+                required_power_level=5,
+                content={"name": name},
+            )
+
             yield handle_event(name_event)
 
         if "topic" in config: