diff --git a/synapse/storage/_base.py b/synapse/storage/_base.py
index 4b1ec687c9b8e4ec88a941bbe2f406015a3d2465..84f222b3db5fc8f8c60c7e0e24f42bd65c1a6e63 100644
--- a/synapse/storage/_base.py
+++ b/synapse/storage/_base.py
@@ -636,8 +636,9 @@ class SQLBaseStore(object):
         start_time = time.time() * 1000
         update_counter = self._get_event_counters.update
 
+        cache = self._get_event_cache.setdefault(event_id, {})
+
         try:
-            cache = self._get_event_cache.setdefault(event_id, {})
             # Separate cache entries for each way to invoke _get_event_txn
             return cache[(check_redacted, get_prev_content, allow_rejected)]
         except KeyError: