Index: modules/taxonomy/taxonomy.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.module,v
retrieving revision 1.414.2.16
diff -u -p -r1.414.2.16 taxonomy.module
--- modules/taxonomy/taxonomy.module	6 Aug 2010 11:10:57 -0000	1.414.2.16
+++ modules/taxonomy/taxonomy.module	7 Dec 2010 11:01:38 -0000
@@ -58,9 +58,14 @@ function taxonomy_link($type, $node = NU
         // other terms which are objects. So we have to check if a $term
         // is an object or not.
         if (is_object($term)) {
+          $path = taxonomy_term_path($term);
+          $url_parts = parse_url($path);
+          // We need to pass the path back in bits to avoid encoding.
           $links['taxonomy_term_'. $term->tid] = array(
             'title' => $term->name,
-            'href' => taxonomy_term_path($term),
+            'href' => $url_parts['path'],
+            'query' => isset($url_parts['query']) ? $url_parts['query'] : '',
+            'fragment' => isset($url_parts['fragment']) ? $url_parts['fragment'] : '',
             'attributes' => array('rel' => 'tag', 'title' => strip_tags($term->description))
           );
         }
