diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py
index a03a5f494cccfd85a5a440f1c8eb12109b346e8a..5f3562b5b596dd70969ed4b3c6bd3ae45ef34d0b 100644
--- a/synapse/handlers/federation.py
+++ b/synapse/handlers/federation.py
@@ -239,6 +239,9 @@ class FederationHandler(BaseHandler):
                 )
                 prev_state = context.current_state.get((event.type, event.state_key))
                 if not prev_state or prev_state.membership != Membership.JOIN:
+                    # Only fire user_joined_room if the user has acutally
+                    # joined the room. Don't bother if the user is just
+                    # changing their profile info.
                     user = UserID.from_string(event.state_key)
                     yield user_joined_room(self.distributor, user, event.room_id)
 
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py
index 1e18038e1573e26cf73c7489b0a957573c045208..116a998c42d08a9a030ac35bb78693c5bfb0f2b8 100644
--- a/synapse/handlers/room.py
+++ b/synapse/handlers/room.py
@@ -527,6 +527,9 @@ class RoomMemberHandler(BaseHandler):
 
         prev_state = context.current_state.get((event.type, event.state_key))
         if not prev_state or prev_state.membership != Membership.JOIN:
+            # Only fire user_joined_room if the user has acutally joined the
+            # room. Don't bother if the user is just changing their profile
+            # info.
             user = UserID.from_string(event.user_id)
             yield user_joined_room(self.distributor, user, room_id)