diff --git a/aleksis/apps/matrix/models.py b/aleksis/apps/matrix/models.py
index 597a9af13496c22f62e88b7c56a823e00f7beb11..381d555a26b8d94035670eb78e92ee6eaa4630ee 100644
--- a/aleksis/apps/matrix/models.py
+++ b/aleksis/apps/matrix/models.py
@@ -289,13 +289,13 @@ class MatrixSpace(MatrixRoom):
         current_children = self.get_children()
         child_spaces = MatrixSpace.get_queryset().filter(
             group__in=self.group.child_groups.filter(child_groups__isnull=False)
-        )
+        ).values_list("room_id", flat=True)
         child_rooms = MatrixRoom.get_queryset().filter(
             Q(group__in=self.group.child_groups.filter(child_groups__isnull=True))
             | Q(group=self.group)
-        )
+        ).values_list("room_id", flat=True)
 
-        child_ids = [m.room_id for m in list(child_spaces) + list(child_rooms)]
+        child_ids = list(child_spaces) + list(child_rooms)
 
         missing_ids = set(child_ids).difference(set(current_children))