diff --git a/src/plainui/views.py b/src/plainui/views.py
index 5a1e9f46d2276b76044bf4b00efd84db18fa8dbc..54750c3ea904a75521978c7531f6e30e0367f60f 100644
--- a/src/plainui/views.py
+++ b/src/plainui/views.py
@@ -1756,7 +1756,7 @@ def _event_filter(
     res = events.filter(
             schedule_duration__isnull=False,
             **filters
-        ).order_by('schedule_start')
+        ).order_by('schedule_start', 'schedule_end')
     res = res.annotate(track_name=F('track__name'))
     speakers = EventParticipant.objects.filter(is_public=True, role=EventParticipant.Role.SPEAKER).order_by('participant__username')
     speakers = speakers.annotate(speaker_name=F('participant__username'))