diff --git a/src/api/client_server/membership.rs b/src/api/client_server/membership.rs
index 7142b8efd10a8e3fd1803c7a769866b69688fe2b..397e13cfa679a2f97015bd09b9bb727214491041 100644
--- a/src/api/client_server/membership.rs
+++ b/src/api/client_server/membership.rs
@@ -826,7 +826,7 @@ pub(crate) async fn invite_helper<'a>(
     is_direct: bool,
 ) -> Result<()> {
     if user_id.server_name() != services().globals.server_name() {
-        let (pdu_json, invite_room_state) = {
+        let (pdu, pdu_json, invite_room_state) = {
             let mutex_state = Arc::clone(
                 services()
                     .globals
@@ -867,28 +867,16 @@ pub(crate) async fn invite_helper<'a>(
 
             drop(state_lock);
 
-            (pdu_json, invite_room_state)
+            (pdu, pdu_json, invite_room_state)
         };
 
-        // Generate event id
-        let expected_event_id = format!(
-            "${}",
-            ruma::signatures::reference_hash(
-                &pdu_json,
-                &services().rooms.state.get_room_version(room_id)?
-            )
-            .expect("ruma can calculate reference hashes")
-        );
-        let expected_event_id = <&EventId>::try_from(expected_event_id.as_str())
-            .expect("ruma's reference hashes are valid event ids");
-
         let response = services()
             .sending
             .send_federation_request(
                 user_id.server_name(),
                 create_invite::v2::Request {
                     room_id,
-                    event_id: expected_event_id,
+                    event_id: &pdu.event_id,
                     room_version: &services().rooms.state.get_room_version(room_id)?,
                     event: &PduEvent::convert_to_outgoing_federation_event(pdu_json.clone()),
                     invite_room_state: &invite_room_state,
@@ -910,7 +898,7 @@ pub(crate) async fn invite_helper<'a>(
             }
         };
 
-        if expected_event_id != event_id {
+        if pdu.event_id != event_id {
             warn!("Server {} changed invite event, that's not allowed in the spec: ours: {:?}, theirs: {:?}", user_id.server_name(), pdu_json, value);
         }