diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py
index bab91988cd74c1e6f36b910b301454c0aa8b72c5..7d869c497a9ecbefc699fb1da379af635bd9fe79 100644
--- a/aleksis/apps/alsijil/models.py
+++ b/aleksis/apps/alsijil/models.py
@@ -292,12 +292,11 @@ class Documentation(CalendarEvent):
                 lesson_event.teachers,
             )
 
-        obj = cls.objects.create(
+        obj, __ = cls.objects.get_or_create(
             datetime_start=datetime_start,
             datetime_end=datetime_end,
-            amends=lesson_event,
             course=course,
-            subject=subject,
+            defaults=dict(subject=subject, amends=lesson_event),
         )
         obj.teachers.set(teachers.all())
         obj.save()
@@ -308,7 +307,7 @@ class Documentation(CalendarEvent):
         return obj
 
     @classmethod
-    def get_or_create_by_id(cls, _id: str | int, user):
+    def get_or_create_by_id(cls, _id: str, user):
         if _id.startswith("DUMMY"):
             return cls.create_from_lesson_event(
                 user,