diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py
index ac6f4fd985a6ba87cc6695ea791276e7a36a489e..37a7dca794bf9632cf1621696ca26447ca23ada8 100644
--- a/synapse/handlers/message.py
+++ b/synapse/handlers/message.py
@@ -553,6 +553,8 @@ class EventCreationHandler(object):
             prev_event_ids=[p for p, _ in prev_events],
         )
         context = yield self.state.compute_event_context(event)
+        if requester:
+            context.app_service = requester.app_service
 
         self.validator.validate_new(event)