diff --git a/core/misc/autocomplete.js b/core/misc/autocomplete.js
index 0ffe404..2a7db92 100644
--- a/core/misc/autocomplete.js
+++ b/core/misc/autocomplete.js
@@ -278,6 +278,16 @@ Drupal.ACDB.prototype.search = function (searchString) {
 
   // See if this string needs to be searched for anyway.
   searchString = searchString.replace(/^\s+|\s+$/, '');
+  
+  // This one goes as a parameter
+  originalString = searchString;
+  // See if this string begins with dot
+  searchString = searchString.replace(/^\./, '');
+  // See if this string has a term with slash and followed by a dot
+  searchString = searchString.replace('/.', '');
+  // If results are more than once, show them even if the searchString is altered.
+  db.searchString = searchString;
+  
   if (searchString.length <= 0 ||
     searchString.charAt(searchString.length - 1) === ',') {
     return;
@@ -301,6 +311,7 @@ Drupal.ACDB.prototype.search = function (searchString) {
       type: 'GET',
       url: db.uri + '/' + Drupal.encodePath(searchString),
       dataType: 'json',
+      data: {search_string: originalString},
       success: function (matches) {
         if (typeof matches.status === 'undefined' || matches.status !== 0) {
           db.cache[searchString] = matches;
diff --git a/core/modules/taxonomy/taxonomy.pages.inc b/core/modules/taxonomy/taxonomy.pages.inc
index 879d685..9a2c30a 100644
--- a/core/modules/taxonomy/taxonomy.pages.inc
+++ b/core/modules/taxonomy/taxonomy.pages.inc
@@ -108,13 +108,18 @@ function taxonomy_term_feed(Term $term) {
  * @see taxonomy_field_widget_info()
  */
 function taxonomy_autocomplete($field_name, $tags_typed = '') {
-  // If the request has a '/' in the search text, then the menu system will have
-  // split it into multiple arguments, recover the intended $tags_typed.
-  $args = func_get_args();
-  // Shift off the $field_name argument.
-  array_shift($args);
-  $tags_typed = implode('/', $args);
-
+  // First look for the search_string via $_GET
+  if(filter_input(INPUT_GET, 'search_string')){
+    $tags_typed = filter_input(INPUT_GET, 'search_string');
+  } else {
+    // If the request has a '/' in the search text, then the menu system will have
+    // split it into multiple arguments, recover the intended $tags_typed.
+    $args = func_get_args();
+    // Shift off the $field_name argument.
+    array_shift($args);
+    $tags_typed = implode('/', $args);
+  }
+  
   // Make sure the field exists and is a taxonomy field.
   if (!($field = field_info_field($field_name)) || $field['type'] !== 'taxonomy_term_reference') {
     // Error string. The JavaScript handler will realize this is not JSON and
