diff --git a/aleksis/apps/chronos/managers.py b/aleksis/apps/chronos/managers.py
index 187a5fe9b5bb15b873778b92e4df2da8c298efcc..4ca0ec807e491178b16384e4a671c64563753acf 100644
--- a/aleksis/apps/chronos/managers.py
+++ b/aleksis/apps/chronos/managers.py
@@ -36,7 +36,7 @@ class ValidityRangeRelatedQuerySet(QuerySet):
     def for_validity_range(
         self, validity_range: "ValidityRange"
     ) -> "ValidityRangeRelatedQuerySet":
-        return self.filter(validity_range=validity_range)
+        return self.filter(validity=validity_range)
 
     def for_current_or_all(self) -> "ValidityRangeRelatedQuerySet":
         """Get all objects related to current validity range.
diff --git a/aleksis/apps/chronos/models.py b/aleksis/apps/chronos/models.py
index fc3b5854505ef96d6d315e35c0b416b61de3901f..336b184b1f2ae4ba6c0a265627c1b82bca16b3c2 100644
--- a/aleksis/apps/chronos/models.py
+++ b/aleksis/apps/chronos/models.py
@@ -379,7 +379,7 @@ class LessonSubstitution(ExtensibleModel):
 
     @property
     def date(self):
-        week = CalendarWeek(week=self.week, year=self.lesson_period.lesson.get_year())
+        week = CalendarWeek(week=self.week, year=self.lesson_period.lesson.get_year(self.week))
         return week[self.lesson_period.period.weekday]
 
     def __str__(self):
diff --git a/aleksis/apps/chronos/views.py b/aleksis/apps/chronos/views.py
index d91e6e0530d7d44d16a577746b53538a36eaa7fb..5c74057febdebd6b223159e69d8ce6186b96b589 100644
--- a/aleksis/apps/chronos/views.py
+++ b/aleksis/apps/chronos/views.py
@@ -33,7 +33,7 @@ def all_timetables(request: HttpRequest) -> HttpResponse:
     teachers = Person.objects.annotate(
         lessons_count=Count("lessons_as_teacher")
     ).filter(lessons_count__gt=0)
-    groups = Group.objects.annotate(
+    groups = Group.objects.for_current_school_term_or_all().annotate(
         lessons_count=Count("lessons"),
         child_lessons_count=Count("child_groups__lessons"),
     )