diff --git a/biscuit/apps/chronos/migrations/0003_auto_20190907_1419.py b/biscuit/apps/chronos/migrations/0003_auto_20190907_1419.py
new file mode 100644
index 0000000000000000000000000000000000000000..7f53974affeec61b9164028cfa3b4447345aae5c
--- /dev/null
+++ b/biscuit/apps/chronos/migrations/0003_auto_20190907_1419.py
@@ -0,0 +1,22 @@
+# Generated by Django 2.2.5 on 2019-09-07 14:19
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('chronos', '0002_db_indexes'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='lessonsubstitution',
+            name='cancelled',
+            field=models.BooleanField(default=False),
+        ),
+        migrations.AddConstraint(
+            model_name='lessonsubstitution',
+            constraint=models.CheckConstraint(check=models.Q(('cancelled', True), ('subject__isnull', False), _negated=True), name='either_substituted_or_cancelled'),
+        ),
+    ]
diff --git a/biscuit/apps/chronos/migrations/0003_lessonsubstitution_canceled.py b/biscuit/apps/chronos/migrations/0003_lessonsubstitution_canceled.py
deleted file mode 100644
index 7d6b9d00e5cccacf4b8d2598bbfc165571f2d178..0000000000000000000000000000000000000000
--- a/biscuit/apps/chronos/migrations/0003_lessonsubstitution_canceled.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Generated by Django 2.2.5 on 2019-09-07 13:24
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('chronos', '0002_db_indexes'),
-    ]
-
-    operations = [
-        migrations.AddField(
-            model_name='lessonsubstitution',
-            name='canceled',
-            field=models.BooleanField(default=False),
-        ),
-    ]