diff --git a/src/api/views/schedule.py b/src/api/views/schedule.py
index 31bc747186d3bb0be5aa07d57834a2241e6eb334..9600271810940b6e4be9a0d410b717920fa81d86 100644
--- a/src/api/views/schedule.py
+++ b/src/api/views/schedule.py
@@ -82,7 +82,7 @@ class ConferenceSchedule(BaseScheduleView):
             Event.objects.conference_accessible(conference=self.conference)
             .exclude(schedule_duration=None)
             .exclude(schedule_duration__lte=timedelta(minutes=5))
-            .order_by(F('assembly__is_official').desc(nulls_last=True), F('room__capacity').desc(nulls_last=True), 'schedule_start')
+            .order_by(F('assembly__is_official').desc(nulls_last=True), 'room__official_room_order', F('room__capacity').desc(nulls_last=True), 'name')
         )
         if filter:
             queryset = queryset.filter(**filter)