diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue
index 0028c3676e854e20ba559f3bb0f0c5285e8f89f1..be2d1530f328750e68e46aa6c9f2f8d6b03ae34a 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue
@@ -18,7 +18,7 @@
     </template>
     <template #default>
       <v-list-item
-        v-for="day in docsByDay"
+        v-for="day in listDocsByDay(docsByDay)"
         two-line
         :key="'day-' + day[0]"
         :id="'documentation_' + day[0].toISODate()"
@@ -161,19 +161,21 @@ export default {
     },
   },
   methods: {
-    // => [[dt doc ...] ...]
+    // => {dt: [dt doc ...] ...}
     groupDocsByDay(docs) {
-      const byDay = docs.reduce((byDay, doc) => {
+      return docs.reduce((byDay, doc) => {
         // This works with dummy. Does actual doc have dateStart instead?
         const day = DateTime.fromISO(doc.datetimeStart).startOf("day");
         byDay[day] ??= [day];
         byDay[day].push(doc);
         return byDay;
       }, {});
-
-      return Object.keys(byDay)
+    },
+    // => [[dt doc ...] ...]
+    listDocsByDay(docsByDay) {
+      return Object.keys(docsByDay)
         .sort()
-        .map((key) => byDay[key]);
+        .map((key) => docsByDay[key]);
     },
     debounce(fn, delay) {
       let timer;