diff --git a/src/lib.rs b/src/lib.rs
index 2c15ba95898ad591dbf98df8857d1e13d0f629cc..9f09020f745a850aa8d7849c2bea3b6814fcb61f 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -959,6 +959,13 @@ pub fn cosmic_edit_bevy_events(
                 return;
             }
 
+            // fix for issue #8
+            if let Some(select) = editor.select_opt() {
+                if editor.cursor().line == select.line && editor.cursor().index == select.index {
+                    editor.set_select_opt(None);
+                }
+            }
+
             let mut is_edit = is_clipboard;
             let mut is_return = false;
             if keys.just_pressed(KeyCode::Return) {
@@ -972,15 +979,6 @@ pub fn cosmic_edit_bevy_events(
                 for char_ev in char_evr.iter() {
                     is_edit = true;
                     if *is_deleting {
-                        // fix for issue #8
-                        if let Some(select) = editor.select_opt() {
-                            if editor.cursor().line == select.line
-                                && editor.cursor().index == select.index
-                            {
-                                editor.set_select_opt(None);
-                            }
-                        }
-
                         editor.action(&mut font_system.0, Action::Backspace);
                     } else {
                         editor.action(&mut font_system.0, Action::Insert(char_ev.char));