diff --git a/changelog.d/12154.misc b/changelog.d/12154.misc
new file mode 100644
index 0000000000000000000000000000000000000000..18d2a4728be92d800998422a618775a7e2a4d054
--- /dev/null
+++ b/changelog.d/12154.misc
@@ -0,0 +1 @@
+Avoid generating state groups for local out-of-band leaves.
diff --git a/synapse/handlers/room_member.py b/synapse/handlers/room_member.py
index a582837cf0aaf007b74261f7e7944521354bd559..7cbc484b06548fd55c4eb1ed2742715c6dc61ab0 100644
--- a/synapse/handlers/room_member.py
+++ b/synapse/handlers/room_member.py
@@ -1736,8 +1736,8 @@ class RoomMemberMasterHandler(RoomMemberHandler):
             txn_id=txn_id,
             prev_event_ids=prev_event_ids,
             auth_event_ids=auth_event_ids,
+            outlier=True,
         )
-        event.internal_metadata.outlier = True
         event.internal_metadata.out_of_band_membership = True
 
         result_event = await self.event_creation_handler.handle_new_client_event(