del self.bookings[old_id]
             for booking in self.bookings[old_id:]:
                 booking.id_ -= 1
+            summed_gap = before_gap + after_gap
+            if old_booking.id_ == 0:
+                self.initial_gap_lines += summed_gap
+            else:
+                assert old_booking.prev is not None
+                old_booking.prev.gap_lines += summed_gap
             for neighbour in old_booking.prev, old_booking.next:
                 if neighbour:
                     neighbour.recalc_prev_next(self.bookings)
         if new_booking.id_ == 0:
             self.initial_gap_lines += before_gap
         else:
-            self.bookings[new_booking.id_ - 1].gap_lines += before_gap
+            assert new_booking.prev is not None
+            new_booking.prev.gap_lines += before_gap
         self._recalc_dat_lines()
         return new_booking.id_