diff --git a/aleksis/apps/chronos/schema/__init__.py b/aleksis/apps/chronos/schema/__init__.py
index 542aff57fc132f506a58cbafa1b57c43fd34c94f..d2afca6635a923f860576c8161bf91d46e71c83f 100644
--- a/aleksis/apps/chronos/schema/__init__.py
+++ b/aleksis/apps/chronos/schema/__init__.py
@@ -10,7 +10,10 @@ from aleksis.core.schema.base import (
 from aleksis.core.schema.group import GroupType
 from aleksis.core.schema.person import PersonType
 from aleksis.core.schema.room import RoomType
-from aleksis.core.util.core_helpers import get_site_preferences, has_person
+from aleksis.core.util.core_helpers import (
+    get_site_preferences,
+    has_person,
+)
 
 from ..models import LessonEvent
 from ..util.build import build_substitutions_list
@@ -241,14 +244,14 @@ class Query(graphene.ObjectType):
         return get_teachers(info.context.user)
 
     def resolve_timetable_groups(self, info, **kwargs):
-        return get_groups(info.context.user)
+        return get_groups(info.context.user, request=info.context)
 
     def resolve_timetable_rooms(self, info, **kwargs):
         return get_rooms(info.context.user)
 
     def resolve_available_timetables(self, info, **kwargs):
         all_timetables = []
-        for group in get_groups(info.context.user):
+        for group in get_groups(info.context.user, request=info.context):
             all_timetables.append(
                 TimetableObjectType(
                     id=group.id,
diff --git a/aleksis/apps/chronos/util/chronos_helpers.py b/aleksis/apps/chronos/util/chronos_helpers.py
index 70688e8e585200a6709be110d9770d64f33e971d..851db2b1d7f8f1434ad2d2be1420be786983897d 100644
--- a/aleksis/apps/chronos/util/chronos_helpers.py
+++ b/aleksis/apps/chronos/util/chronos_helpers.py
@@ -8,8 +8,8 @@ from django.shortcuts import get_object_or_404
 from guardian.shortcuts import get_objects_for_user
 
 from aleksis.apps.cursus.models import Course
-from aleksis.core.models import Announcement, Group, Person, Room
-from aleksis.core.util.core_helpers import get_site_preferences
+from aleksis.core.models import Announcement, Group, Person, Room, SchoolTerm
+from aleksis.core.util.core_helpers import get_active_school_term, get_site_preferences
 
 from ..managers import TimetableType
 from .build import build_substitutions_list
@@ -63,10 +63,12 @@ def get_teachers(user: "User"):
     return teachers
 
 
-def get_groups(user: "User"):
+def get_groups(user: "User", request=None):
     """Get the groups whose timetables are allowed to be seen by current user."""
 
-    groups = Group.objects.for_current_school_term_or_all()
+    school_term = get_active_school_term(request) if request is not None else SchoolTerm.current
+
+    groups = Group.objects.for_school_term(school_term)
 
     group_types = get_site_preferences()["chronos__group_types_timetables"]