diff --git a/changelog.d/12005.misc b/changelog.d/12005.misc
new file mode 100644
index 0000000000000000000000000000000000000000..45e21dbe59534cf2e06221de76d541aed3fd00a0
--- /dev/null
+++ b/changelog.d/12005.misc
@@ -0,0 +1 @@
+Preparation for faster-room-join work: when parsing the `send_join` response, get the `m.room.create` event from `state`, not `auth_chain`.
diff --git a/synapse/handlers/federation_event.py b/synapse/handlers/federation_event.py
index 6dc27a38f384722265e815b754058abe81298093..7683246bef90544efcb3ee3e5383019b35f0e624 100644
--- a/synapse/handlers/federation_event.py
+++ b/synapse/handlers/federation_event.py
@@ -420,7 +420,7 @@ class FederationEventHandler:
             SynapseError if the response is in some way invalid.
         """
         create_event = None
-        for e in auth_events:
+        for e in state:
             if (e.type, e.state_key) == (EventTypes.Create, ""):
                 create_event = e
                 break