diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs
index 92b4971b..9e44d256 100644
--- a/helix-term/src/commands.rs
+++ b/helix-term/src/commands.rs
@@ -1826,7 +1826,7 @@ fn open(cx: &mut Context, open: Open) {
         };
 
         // insert newlines after this index for both Above and Below variants
-        let line_end_index = line_end_char_index(&doc.text().slice(..), line);
+        let line_end_index = line_end_char_index(&doc.text().slice(..), line.saturating_sub(1));
 
         // TODO: share logic with insert_newline for indentation
         let indent_level = indent::suggested_indent_for_pos(