diff --git a/synapse/storage/event_federation.py b/synapse/storage/event_federation.py
index dda3027b617dd52a6584fd51ec9944d40df325e3..27284cd08c91b3346ffe28cba625a2b0198d2746 100644
--- a/synapse/storage/event_federation.py
+++ b/synapse/storage/event_federation.py
@@ -303,6 +303,9 @@ class EventFederationStore(SQLBaseStore):
             ],
         )
 
+        self._update_extremeties(txn, events)
+
+    def _update_extremeties(self, txn, events):
         events_by_room = {}
         for ev in events:
             events_by_room.setdefault(ev.room_id, []).append(ev)
diff --git a/synapse/storage/events.py b/synapse/storage/events.py
index e3eabab13d9db1c6921cab5eb8c366ea58d7b90d..8774b3b388884f6d2a7fd183a073f97c73952d4e 100644
--- a/synapse/storage/events.py
+++ b/synapse/storage/events.py
@@ -275,6 +275,8 @@ class EventsStore(SQLBaseStore):
                     (False, event.event_id,)
                 )
 
+                self._update_extremeties(txn, [event])
+
         events_and_contexts = filter(
             lambda ec: ec[0] not in to_remove,
             events_and_contexts