diff --git a/biscuit/apps/chronos/tables.py b/biscuit/apps/chronos/tables.py
index e48e9c4fcc81334b28fa5ea6a94372b60358d075..5836ffa727881366ce6817af76b6c060a40a8c1a 100644
--- a/biscuit/apps/chronos/tables.py
+++ b/biscuit/apps/chronos/tables.py
@@ -1,7 +1,11 @@
+from typing import Optional
+
 from django.utils.translation import ugettext_lazy as _
 import django_tables2 as tables
 from django_tables2.utils import A
 
+from .models import LessonPeriod
+
 
 def _css_class_from_lesson_state(record: Optional[LessonPeriod] = None, table: Optional[LessonTable] = None) -> str:
     if record.get_substitution(table._week):
@@ -13,6 +17,7 @@ def _css_class_from_lesson_state(record: Optional[LessonPeriod] = None, table: O
 class LessonsTable(tables.Table):
     class Meta:
         attrs = {'class': 'table table-striped table-bordered table-hover table-responsive-xl'}
+        row_attrs = {'class': _css_class_from_lesson_state}
 
     period__period = tables.Column(accessor='period.period')
     lesson__groups = tables.Column(accessor='lesson.group_names')
@@ -23,6 +28,3 @@ class LessonsTable(tables.Table):
     def __init__(self, week, *args, **kwargs):
         self._week = week
         super().__init__(*args, **kwargs)
-
-    class Meta:
-        row_attrs = {'class': _css_class_from_lesson_state}