diff --git a/roomserver/internal/input/input_events.go b/roomserver/internal/input/input_events.go index 17c421ed4..016185c3c 100644 --- a/roomserver/internal/input/input_events.go +++ b/roomserver/internal/input/input_events.go @@ -166,7 +166,7 @@ func (r *Inputer) processRoomEvent( } } - missingPrev := len(missingRes.MissingPrevEventIDs) > 0 + missingPrev := !input.HasState && len(missingRes.MissingPrevEventIDs) > 0 if missingPrev && input.Kind == api.KindNew { // Don't do this for KindOld events, otherwise old events that we fetch // to satisfy missing prev events/state will end up recursively calling