diff --git a/src/buffer.rs b/src/buffer.rs
index 1bd77f7..365ac24 100644
--- a/src/buffer.rs
+++ b/src/buffer.rs
@@ -73,8 +73,8 @@ impl Buffer {
         self.has_changed = true;
         match addr {
             Address::Actual | Address::Empty => self.insert_buffer(self.current_line, lines),
-            Address::Line(l) => self.insert_buffer(l, lines),
-            Address::Last => self.insert_buffer(self.buffer.len(), lines),
+            Address::Line(l) => self.insert_buffer(l.saturating_sub(1), lines),
+            Address::Last => self.insert_buffer(self.buffer.len().saturating_sub(1), lines),
             _ => (),
         }
     }