diff --git a/src/plainui/views.py b/src/plainui/views.py
index 88c96f6414b804148057e4db715d58870616bad4..91d7418065e4c1d11a59a7b9310a63f33dbe6f3c 100644
--- a/src/plainui/views.py
+++ b/src/plainui/views.py
@@ -1740,6 +1740,7 @@ def _event_filter(
         filters['room__is_public_fahrplan'] = public_fahrplan
 
     events = Event.objects.conference_accessible(conf)
+    events = events.filter(schedule_start__isnull=False, schedule_end__isnull=False)
     if upcoming:
         now = timezone.now()
         events = events.filter(Q(schedule_start__lt=now, schedule_end__gte=now) | Q(schedule_start__gte=now, schedule_start__lt=now + UPCOMING_WINDOW))