diff --git a/src/input.rs b/src/input.rs
index 4110a3f5f60423baa2fe67efa16230fca0de253d..8881d91471b0576dc7e5e404c7810eea42f78933 100644
--- a/src/input.rs
+++ b/src/input.rs
@@ -450,7 +450,7 @@ pub(crate) fn input_kb(
             if edits.is_empty() {
                 return;
             }
-            if edit_history.current_edit <= 1 {
+            if edit_history.current_edit == 0 {
                 return;
             }
             let idx = edit_history.current_edit - 1;
diff --git a/src/lib.rs b/src/lib.rs
index eff2c36648975aad2cd31c6c3487c4e52d441166..d103cf79ed42b7acf0799d53d511b649cb6b7933 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -420,6 +420,7 @@ impl Plugin for CosmicEditPlugin {
         .add_systems(
             Update,
             (
+                init_history,
                 input_kb,
                 input_mouse,
                 blink_cursor,
@@ -494,6 +495,14 @@ fn save_edit_history(
     };
 }
 
+fn init_history(
+    mut q: Query<(&mut CosmicEditor, &CosmicAttrs, &mut CosmicEditHistory), Added<CosmicEditor>>,
+) {
+    for (mut editor, attrs, mut history) in q.iter_mut() {
+        save_edit_history(&mut editor.0, &attrs.0, &mut history);
+    }
+}
+
 /// Adds the font system to each editor when added
 fn cosmic_editor_builder(
     mut added_editors: Query<(Entity, &CosmicMetrics), Added<CosmicText>>,