Index: modules/taxonomy/taxonomy.module =================================================================== RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.module,v retrieving revision 1.388 diff -u -r1.388 taxonomy.module --- modules/taxonomy/taxonomy.module 6 Nov 2007 10:01:52 -0000 1.388 +++ modules/taxonomy/taxonomy.module 9 Nov 2007 17:05:09 -0000 @@ -756,7 +756,14 @@ * Return the term object that has the given string as a synonym. */ function taxonomy_get_synonym_root($synonym) { - return db_fetch_object(db_query("SELECT * FROM {term_synonym} s, {term_data} t WHERE t.tid = s.tid AND s.name = '%s'", $synonym)); + static $synonyms = array(); + if ($synonym == '') { + return NULL; + } + if (empty($synonyms[$synonym])) { + $synonyms[$synonym] = (object)db_fetch_object(db_query("SELECT * FROM {term_synonym} s, {term_data} t WHERE t.tid = s.tid AND s.name = '%s'", $synonym)); + } + return $synonyms[$synonym]; } /**