diff --git a/src/lib.rs b/src/lib.rs
index b8bc4dbea982181e0de7bb6a3f2a71dfd690fc5c..222612d8b5edb486d691cb36b6018db9d518f0f5 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -932,7 +932,11 @@ pub fn cosmic_edit_bevy_events(
                     camera_transform,
                 ) {
                     let (x, y) = point(node_cursor_pos);
-                    editor.action(&mut font_system.0, Action::Drag { x, y });
+                    if active_editor.is_changed() && !shift {
+                        editor.action(&mut font_system.0, Action::Click { x, y });
+                    } else {
+                        editor.action(&mut font_system.0, Action::Drag { x, y });
+                    }
                 }
                 return;
             }