diff --git a/src/github.com/matrix-org/dendrite/clientapi/writers/membership.go b/src/github.com/matrix-org/dendrite/clientapi/writers/membership.go index 32f769974..b73d4ab28 100644 --- a/src/github.com/matrix-org/dendrite/clientapi/writers/membership.go +++ b/src/github.com/matrix-org/dendrite/clientapi/writers/membership.go @@ -39,7 +39,12 @@ func SendMembership( roomID string, membership string, cfg config.Dendrite, queryAPI api.RoomserverQueryAPI, producer *producers.RoomserverProducer, ) util.JSONResponse { - localpart, _, err := gomatrixserverlib.SplitID('@', device.UserID) + stateKey, reason, reqErr := getMembershipStateKey(req, device, membership) + if reqErr != nil { + return *reqErr + } + + localpart, _, err := gomatrixserverlib.SplitID('@', stateKey) if err != nil { return httputil.LogThenError(req, err) } @@ -49,11 +54,6 @@ func SendMembership( return httputil.LogThenError(req, err) } - stateKey, reason, reqErr := getMembershipStateKey(req, device, membership) - if reqErr != nil { - return *reqErr - } - builder := gomatrixserverlib.EventBuilder{ Sender: device.UserID, RoomID: roomID,