diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue
index de8afbe8db82ce236daf5c67aa2125b0b4b9b33e..45e8b9e179b42eae3e1ba32f52c0697a0dc0420b 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue
@@ -19,9 +19,9 @@
     <template #default="{ items }">
       <coursebook-loader />
       <coursebook-day
-        v-for="{ date, docs, idx, lastIdx } in groupDocsByDay(items)"
+        v-for="{ date, docs, first, last } in groupDocsByDay(items)"
         v-intersect="{
-            handler: intersectHandler(date, idx, lastIdx),
+            handler: intersectHandler(date, first, last),
             options: {
               rootMargin: '-165px 0px 0px 0px',
               threshold: [0, 1],
@@ -200,8 +200,9 @@ export default {
         .sort()
         .map((key, idx, {length}) => {
           const day = docsByDay[key];
-          day.idx = idx;
-          day.lastIdx = length - 1;
+          day.first = idx === 0;
+          const lastIdx = length - 1;
+          day.last = idx === lastIdx;
           return day;
         });
     },
@@ -241,7 +242,7 @@ export default {
         }
       });
     },
-    intersectHandler(date, idx, lastIdx) {
+    intersectHandler(date, first, last) {
       let once = true;
       return (entries) => {
         const entry = entries[0];
@@ -253,7 +254,7 @@ export default {
             this.setDate(date.toISODate());
           }
 
-          if (once && this.ready && idx === 0) {
+          if (once && this.ready && first) {
             console.log('load up', date.toISODate());
             this.ready = false;
             this.fetchMore(date.minus({ days: 5 }).toISODate(),
@@ -263,7 +264,7 @@ export default {
                                               document.documentElement.scrollTop);
                           });
             once = false;
-          } else if (once && this.ready && idx === lastIdx) {
+          } else if (once && this.ready && last) {
             console.log('load down', date.toISODate());
             this.ready = false;
             this.fetchMore(date.plus({ days: 1 }).toISODate(),