diff --git a/aleksis/apps/alsijil/migrations/0011_tardiness_positive.py b/aleksis/apps/alsijil/migrations/0011_tardiness_positive.py
new file mode 100644
index 0000000000000000000000000000000000000000..584a560caf51ee12cf92d1f6fdb3e6af7bd0f0d0
--- /dev/null
+++ b/aleksis/apps/alsijil/migrations/0011_tardiness_positive.py
@@ -0,0 +1,24 @@
+# Generated by Django 3.1.6 on 2021-02-26 17:45
+
+from django.db import migrations, models
+
+
+def fix_negative_tardiness(apps, schema_editor):
+    PersonalNote = apps.get_model("alsijil", "PersonalNote")
+    PersonalNote.objects.filter(late__lt=0).update(late=0)
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('alsijil', '0010_events_extra_lessons'),
+    ]
+
+    operations = [
+        migrations.RunPython(fix_negative_tardiness),
+        migrations.AlterField(
+            model_name='personalnote',
+            name='late',
+            field=models.PositiveSmallIntegerField(default=0),
+        ),
+    ]
diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py
index 163ef2b8636b25b9cbb3ec7f7d4e5f4d0e9926eb..f8146cd797736fb48923df4190cead2d9133040c 100644
--- a/aleksis/apps/alsijil/models.py
+++ b/aleksis/apps/alsijil/models.py
@@ -193,7 +193,7 @@ class PersonalNote(RegisterObjectRelatedMixin, ExtensibleModel):
     )
 
     absent = models.BooleanField(default=False)
-    late = models.IntegerField(default=0)
+    late = models.PositiveSmallIntegerField(default=0)
     excused = models.BooleanField(default=False)
     excuse_type = models.ForeignKey(
         ExcuseType, on_delete=models.SET_NULL, null=True, blank=True, verbose_name=_("Excuse type"),