diff --git a/synapse/events/__init__.py b/synapse/events/__init__.py
index 2ceac19adbd179393801ae63a6af8f631f5db460..63004eaf042e7f772948790a87dd845460f60c45 100644
--- a/synapse/events/__init__.py
+++ b/synapse/events/__init__.py
@@ -146,6 +146,11 @@ class FrozenEvent(EventBase):
         event_dict["type"] = intern_string(event_dict["type"])
         if "state_key" in event_dict:
             event_dict["state_key"] = intern_string(event_dict["state_key"])
+        if "sender" in event_dict:
+            event_dict["sender"] = intern_string(event_dict["sender"])
+
+        event_dict["event_id"] = intern(event_dict["event_id"].encode('ascii'))
+        event_dict["room_id"] = intern(event_dict["room_id"].encode('ascii'))
 
         if USE_FROZEN_DICTS:
             frozen_dict = freeze(event_dict)