diff --git a/app/assets/javascripts/filtered_search/dropdown_utils.js.es6 b/app/assets/javascripts/filtered_search/dropdown_utils.js.es6
index dcab32fd38b3cc6f59f431ea91d791a7ce2be20e..0027f79aecb5543404fc80905e468b9219b5e798 100644
--- a/app/assets/javascripts/filtered_search/dropdown_utils.js.es6
+++ b/app/assets/javascripts/filtered_search/dropdown_utils.js.es6
@@ -89,9 +89,15 @@
     static getInputSelectionPosition(input) {
       const inputValue = input.value;
       const selectionStart = input.selectionStart;
-      const left = inputValue.slice(0, selectionStart + 1).search(/\S+$/);
+      let left = inputValue.slice(0, selectionStart + 1).search(/\S+$/);
       const right = inputValue.slice(selectionStart).search(/\s/);
 
+      if (selectionStart === 0) {
+        left = 0;
+      } else if (selectionStart === inputValue.length && left < 0) {
+        left = inputValue.length;
+      }
+
       return {
         left,
         right,
diff --git a/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js.es6 b/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js.es6
index 031e4f9b127166a25db585b2d8e9afea3c3668d4..9edb6ade4f241b3e064e63ab5edaa5b2d0a2a162 100644
--- a/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js.es6
+++ b/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js.es6
@@ -62,16 +62,13 @@
 
       // Get the string to replace
       const selectionStart = input.selectionStart;
-      let { left, right } = gl.DropdownUtils.getInputSelectionPosition(input);
+      const { left } = gl.DropdownUtils.getInputSelectionPosition(input);
+      let { right } = gl.DropdownUtils.getInputSelectionPosition(input);
 
       if (right < 0) {
         right = inputValue.length;
       }
 
-      if (left < 0) {
-        left += 1;
-      }
-
       input.value = `${inputValue.substr(0, left)}${word}${inputValue.substr(right + selectionStart)}`;
       gl.FilteredSearchDropdownManager.updateInputCaretPosition(selectionStart, input);
     }