diff --git a/changelog.d/7810.bugfix b/changelog.d/7810.bugfix
new file mode 100644
index 0000000000000000000000000000000000000000..2772eeb0db89644db2408e570030547af1ecaf05
--- /dev/null
+++ b/changelog.d/7810.bugfix
@@ -0,0 +1 @@
+Fix 'stuck invites' which happen when we are unable to reject a room invite received over federation.
diff --git a/synapse/handlers/room_member.py b/synapse/handlers/room_member.py
index 178d7db94e3b9b414f83838cbd4aff4d40f0e82f..41adaf3bf37421bcb1bdfe56855783408e6e6495 100644
--- a/synapse/handlers/room_member.py
+++ b/synapse/handlers/room_member.py
@@ -1072,7 +1072,7 @@ class RoomMemberMasterHandler(RoomMemberHandler):
             alg, h = compute_event_reference_hash(invite_event)
             invite_hash = (invite_event.event_id, {alg: encode_base64(h)})
 
-        auth_events = invite_event.auth_events + (invite_hash,)
+        auth_events = tuple(invite_event.auth_events) + (invite_hash,)
         prev_events = (invite_hash,)
 
         # we cap depth of generated events, to ensure that they are not