diff --git a/addon/dialog/dialog.js b/addon/dialog/dialog.js
index e0e8ad4eb70f3944e0568e081d3509b0bb1242fe..323b20078e8307a37b323c571e0db08667ce7106 100644
--- a/addon/dialog/dialog.js
+++ b/addon/dialog/dialog.js
@@ -58,7 +58,9 @@
     if (inp) {
       if (options.value) {
         inp.value = options.value;
-        inp.select();
+        if (options.selectValueOnOpen !== false) {
+          inp.select();
+        }
       }
 
       if (options.onInput)
diff --git a/keymap/vim.js b/keymap/vim.js
index 5679f58d8914699f7cfac23842f24c60c3ab551c..f5f8cafbc73dd3b95c50b3b363b059db7fd8f6e9 100644
--- a/keymap/vim.js
+++ b/keymap/vim.js
@@ -3491,7 +3491,8 @@
     function dialog(cm, template, shortText, onClose, options) {
       if (cm.openDialog) {
         cm.openDialog(template, onClose, { bottom: true, value: options.value,
-            onKeyDown: options.onKeyDown, onKeyUp: options.onKeyUp });
+            onKeyDown: options.onKeyDown, onKeyUp: options.onKeyUp,
+            selectValueOnOpen: false});
       }
       else {
         onClose(prompt(shortText, ''));