diff --git a/modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc b/modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc
index 6903aa8..046cb74 100644
--- a/modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc
+++ b/modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc
@@ -128,11 +128,14 @@ class views_plugin_argument_validate_taxonomy_term extends views_plugin_argument
           $and = " AND td.vid IN(" . implode(', ', $vids) . ')';
         }
         if ($transform) {
-          $result = db_fetch_object(db_query("SELECT td.* FROM {term_data} td LEFT JOIN {term_synonym} ts ON ts.tid = td.tid WHERE (replace(td.name, ' ', '-') = '%s' OR replace(ts.name, ' ', '-') = '%s')$and", $argument, $argument));
-        }
-        else {
-          $result = db_fetch_object(db_query("SELECT td.* FROM {term_data} td LEFT JOIN {term_synonym} ts ON ts.tid = td.tid WHERE (td.name = '%s' OR ts.name = '%s')$and", $argument, $argument));
+          $argument = str_replace(' ', '-', $argument);
         }
+        $result = db_fetch_object(db_query(
+          "SELECT td.* FROM {term_data} td WHERE td.name = '%s'$and
+          UNION
+          SELECT td.* FROM {term_data} td INNER JOIN {term_synonym} ts
+          ON ts.tid = td.tid WHERE ts.name = '%s'$and", $argument, $argument
+        ));
         if (!$result) {
           return FALSE;
         }
