diff --git a/core/modules/taxonomy/taxonomy.pages.inc b/core/modules/taxonomy/taxonomy.pages.inc
index 7f4fa45..af116f6 100644
--- a/core/modules/taxonomy/taxonomy.pages.inc
+++ b/core/modules/taxonomy/taxonomy.pages.inc
@@ -110,6 +110,7 @@ function taxonomy_autocomplete($field_name, $tags_typed = '') {
   // Shift off the $field_name argument.
   array_shift($args);
   $tags_typed = implode('/', $args);
+  $tags_typed = urldecode($tags_typed);
 
   // Make sure the field exists and is a taxonomy field.
   if (!($field = field_info_field($field_name)) || $field['type'] !== 'taxonomy_term_reference') {
diff --git a/core/modules/taxonomy/taxonomy.test b/core/modules/taxonomy/taxonomy.test
index 48ce3cf..51ac0f8 100644
--- a/core/modules/taxonomy/taxonomy.test
+++ b/core/modules/taxonomy/taxonomy.test
@@ -780,7 +780,7 @@ class TaxonomyTermTestCase extends TaxonomyWebTestCase {
     $this->assertRaw(drupal_json_encode($target), 'Autocomplete returns only the expected matching term.');
 
     // Try to autocomplete a term name with both a comma and a slash.
-    $input = '"term with, comma and / a';
+    $input = '"term with, a comma and / a"';
     $url = 'taxonomy/autocomplete/taxonomy_';
     $url .= $this->vocabulary->machine_name . '/' . $input;
     $this->drupalGet($url);
