Index: modules/taxonomy/taxonomy.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.module,v
retrieving revision 1.371
diff -u -F^f -r1.371 taxonomy.module
--- modules/taxonomy/taxonomy.module	16 Jul 2007 12:43:06 -0000	1.371
+++ modules/taxonomy/taxonomy.module	29 Jul 2007 16:45:46 -0000
@@ -1047,7 +1047,11 @@ function taxonomy_get_synonyms($tid) {
  * 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 (empty($synonyms[$synonym])) {
+    $synonyms[$synonym] = 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];
 }
 
 /**
