diff --git a/biscuit/apps/chronos/views.py b/biscuit/apps/chronos/views.py
index 6fa61d1227b1203e3337aa3c9ad48000ace91ff4..f4b4187b955adaca510518697f5419e19c847d38 100644
--- a/biscuit/apps/chronos/views.py
+++ b/biscuit/apps/chronos/views.py
@@ -31,7 +31,7 @@ def timetable(request: HttpRequest, week: Optional[int] = None) -> HttpResponse:
     lesson_periods = LessonPeriod.objects.filter(
         lesson__date_start__gte=week_days(wanted_week)[0],
         lesson__date_end__lte=week_days(wanted_week)[-1]
-    ).extra(select={'_week': wanted_week})
+    ).select_related('period', 'lesson').extra(select={'_week': wanted_week})
 
     if request.GET.get('group', None) or request.GET.get('teacher', None) or request.GET.get('room', None):
         # Incrementally filter lesson periods by GET parameters