diff --git a/synapse/handlers/profile.py b/synapse/handlers/profile.py
index 33a2c167ec5cdce23afdff9ac1834630f54420d2..3f11e2dcf455d9715a5bfbf569a30d945f043eab 100644
--- a/synapse/handlers/profile.py
+++ b/synapse/handlers/profile.py
@@ -194,6 +194,8 @@ class ProfileHandler(BaseHandler):
         if not self.hs.is_mine(user):
             return
 
+        self.ratelimit(user.to_string())
+
         joins = yield self.store.get_rooms_for_user_where_membership_is(
             user.to_string(),
             [Membership.JOIN],
@@ -214,5 +216,5 @@ class ProfileHandler(BaseHandler):
                 "room_id": j.room_id,
                 "state_key": j.state_key,
                 "content": content,
-                "sender": j.state_key,
-            })
+                "sender": j.state_key
+            }, ratelimit=False)