diff --git a/aleksis/apps/matrix/models.py b/aleksis/apps/matrix/models.py
index b5c41bf14e8c18fa0bb17e4b1f4e944e9a4d67e7..a2c19c573d16746fa0b9c3e57dddc2642816cc30 100644
--- a/aleksis/apps/matrix/models.py
+++ b/aleksis/apps/matrix/models.py
@@ -184,6 +184,10 @@ class MatrixRoom(ExtensiblePolymorphicModel):
         )
         return r
 
+    def _ensure_joined(self) -> True:
+        r = do_matrix_request("POST", f"join/{self.room_id}")
+        return r
+
     @classmethod
     def get_profiles_for_group(cls, group: Group) -> QuerySet:
         """Get all profile objects for the members/owners of a group."""
@@ -247,8 +251,13 @@ class MatrixRoom(ExtensiblePolymorphicModel):
             space.sync()
         return None
 
+    def sync_room_params(self):
+        """Sync all room-specific parameters, e. g. the name."""
+        self._ensure_joined()
+
     def sync(self):
         """Sync this room."""
+        self.sync_room_params()
         self.sync_profiles()
         if get_site_preferences()["matrix__use_spaces"]:
             self.sync_space()
@@ -337,6 +346,7 @@ class MatrixSpace(MatrixRoom):
 
     def sync(self):
         """Sync this space."""
+        self.sync_room_params()
         self.ensure_children()
         self.sync_children()
         self.sync_profiles()