diff --git a/aleksis/core/migrations/0047_add_room_model.py b/aleksis/core/migrations/0047_add_room_model.py
index 2194017cf1678ab8c5bc4af61b7e7ed05e4cacf3..c9a59d3e22b664989b67fba9a6c87e68bbc33cae 100644
--- a/aleksis/core/migrations/0047_add_room_model.py
+++ b/aleksis/core/migrations/0047_add_room_model.py
@@ -3,10 +3,12 @@
 from django.apps import apps
 import django.contrib.sites.managers
 from django.db import migrations, models
+from django.db.utils import ProgrammingError
 import django.db.models.deletion
 import django.utils.timezone
 import oauth2_provider.generators
 import oauth2_provider.models
+from psycopg2.errors import UndefinedTable
 
 
 class Migration(migrations.Migration):
@@ -18,7 +20,12 @@ class Migration(migrations.Migration):
 
     if "chronos" in apps.app_configs:
         recorder = migrations.recorder
-        if not recorder.MigrationRecorder.Migration.objects.filter(app="core", name="0046_add_room_model").exists():
+        applied = False
+        try:
+            applied = recorder.MigrationRecorder.Migration.objects.filter(app="core", name="0046_add_room_model").exists()
+        except ProgrammingError:
+            applied = False
+        if not applied:
             dependencies.append(('chronos', '0012_add_supervision_global_permission'))
 
     operations = [