diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py
index 574409062db2cee597a40568c7abd2e19bd41e0f..4eecb39f4ca4290c3d650d333a78f22d2dc76279 100644
--- a/aleksis/apps/alsijil/models.py
+++ b/aleksis/apps/alsijil/models.py
@@ -285,12 +285,10 @@ class LessonDocumentation(RegisterObjectRelatedMixin, ExtensibleModel):
 
         Can be deactivated using site preference ``alsijil__carry_over``.
         """
-        following_periods = LessonPeriod.objects.filter(
-            lesson=self.lesson_period.lesson,
-            period__weekday=self.lesson_period.period.weekday,
-            period__period__gt=self.lesson_period.period.period,
+        all_periods_of_lesson = LessonPeriod.objects.filter(
+            lesson=self.lesson_period.lesson, period__weekday=self.lesson_period.period.weekday,
         )
-        for period in following_periods:
+        for period in all_periods_of_lesson:
             lesson_documentation = period.get_or_create_lesson_documentation(
                 CalendarWeek(week=self.week, year=self.year)
             )
@@ -310,16 +308,17 @@ class LessonDocumentation(RegisterObjectRelatedMixin, ExtensibleModel):
                 changed = True
 
             if changed:
-                lesson_documentation.save()
+                lesson_documentation.save(carry_over=False)
 
     def __str__(self) -> str:
         return f"{self.lesson_period}, {self.date_formatted}"
 
-    def save(self, *args, **kwargs):
+    def save(self, carry_over=True, *args, **kwargs):
         if (
             get_site_preferences()["alsijil__carry_over"]
             and (self.topic or self.homework or self.group_note)
             and self.lesson_period
+            and carry_over
         ):
             self._carry_over_data()
         super().save(*args, **kwargs)