diff --git a/addon/search/search.js b/addon/search/search.js
index 93e90b36edd613bc64e822d579fbb227e97f37fd..e946aa9e97b31a77888e1665dd25c3f64f94ef4d 100644
--- a/addon/search/search.js
+++ b/addon/search/search.js
@@ -121,7 +121,10 @@
       persistentDialog(cm, queryDialog, q, function(query, event) {
         CodeMirror.e_stop(event);
         if (!query) return;
-        if (query != state.queryText) startSearch(cm, state, query);
+        if (query != state.queryText) {
+          startSearch(cm, state, query);
+          state.posFrom = state.posTo = cm.getCursor();
+        }
         if (hiding) hiding.style.opacity = 1
         findNext(cm, event.shiftKey, function(_, to) {
           var dialog