diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py
index fcef60205552d0189554393bcb7c1c4bea08d72a..7903494e086d9b1a50bf50fd0dda58c6f1e37490 100644
--- a/synapse/handlers/federation.py
+++ b/synapse/handlers/federation.py
@@ -540,6 +540,17 @@ class FederationHandler(BaseHandler):
         )
 
         if event:
+            # FIXME: This is a temporary work around where we occasionally
+            # return events slightly differently than when they were
+            # originally signed
+            event.signatures.update(
+                compute_event_signature(
+                    event,
+                    self.hs.hostname,
+                    self.hs.config.signing_key[0]
+                )
+            )
+
             if do_auth:
                 in_room = yield self.auth.check_host_in_room(
                     event.room_id,