1 files changed, 5 insertions, 2 deletions
diff --git a/synapse/events/snapshot.py b/synapse/events/snapshot.py
index 9ea85e93e6..7c5f620d09 100644
--- a/synapse/events/snapshot.py
+++ b/synapse/events/snapshot.py
@@ -322,11 +322,14 @@ class _AsyncEventContextImpl(EventContext):
self._current_state_ids = yield self._storage.state.get_state_ids_for_group(
self.state_group
)
- if self._prev_state_id and self._event_state_key is not None:
+ if self._event_state_key is not None:
self._prev_state_ids = dict(self._current_state_ids)
key = (self._event_type, self._event_state_key)
- self._prev_state_ids[key] = self._prev_state_id
+ if self._prev_state_id:
+ self._prev_state_ids[key] = self._prev_state_id
+ else:
+ self._prev_state_ids.pop(key, None)
else:
self._prev_state_ids = self._current_state_ids
|