diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py
index 9b9eb9d402bdf6feac213d87b80ca248a37a1f6c..4ae43ea60de19e01ec1c7b874ab30747c195ffce 100644
--- a/aleksis/apps/alsijil/models.py
+++ b/aleksis/apps/alsijil/models.py
@@ -312,6 +312,33 @@ class LessonDocumentation(RegisterObjectRelatedMixin, ExtensibleModel):
             if changed:
                 lesson_documentation.save()
 
+        if not self.lesson_period.week:
+            self.lesson_period.annotate_week(CalendarWeek(year=self.year, week=self.week))
+
+        previous_lesson = self.lesson_period.prev
+
+        if previous_lesson:
+            lesson_documentation = previous_lesson.get_or_create_lesson_documentation(
+                CalendarWeek(week=self.week, year=self.year)
+            )
+
+            changed = False
+
+            if not lesson_documentation.topic:
+                lesson_documentation.topic = self.topic
+                changed = True
+
+            if not lesson_documentation.homework:
+                lesson_documentation.homework = self.homework
+                changed = True
+
+            if not lesson_documentation.group_note:
+                lesson_documentation.group_note = self.group_note
+                changed = True
+
+            if changed:
+                lesson_documentation.save()
+
     def __str__(self) -> str:
         return f"{self.lesson_period}, {self.date_formatted}"