--- orig/taxonomy.module	2007-01-25 16:51:36.000000000 -0500
+++ taxonomy.module	2007-05-10 01:50:01.390625000 -0400
@@ -816,6 +816,11 @@ function taxonomy_node_save($nid, $terms
         // See if the term exists in the chosen vocabulary
         // and return the tid; otherwise, add a new record.
         $possibilities = taxonomy_get_term_by_name($typed_term);
+        
+        //Check for synonyms before creating a new term. 
+        $syn_root = taxonomy_get_synonym_root($typed_term);
+        if($syn_root) $possibilities[] = $syn_root;
+        
         $typed_term_tid = NULL; // tid match, if any.
         foreach ($possibilities as $possibility) {
           if ($possibility->vid == $vid) {
