Index: taxonomy.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.module,v
retrieving revision 1.414.2.1
diff -u -p -r1.414.2.1 taxonomy.module
--- taxonomy.module	9 Apr 2008 21:11:51 -0000	1.414.2.1
+++ taxonomy.module	27 May 2008 22:51:59 -0000
@@ -611,8 +611,11 @@ function taxonomy_node_get_terms_by_voca
 /**
  * Find all terms associated with the given node, ordered by vocabulary and term weight.
  */
-function taxonomy_node_get_terms($node, $key = 'tid') {
+function taxonomy_node_get_terms($node, $key = 'tid', $reset = FALSE) {
   static $terms;
+  if($reset && is_array($terms) && isset($terms[$node->vid])) {
+    unset($terms[$node->vid]);
+  }
 
   if (!isset($terms[$node->vid][$key])) {
     $result = db_query(db_rewrite_sql('SELECT t.* FROM {term_node} r INNER JOIN {term_data} t ON r.tid = t.tid INNER JOIN {vocabulary} v ON t.vid = v.vid WHERE r.vid = %d ORDER BY v.weight, t.weight, t.name', 't', 'tid'), $node->vid);
@@ -703,6 +706,9 @@ function taxonomy_node_save($node, $term
       }
     }
   }
+
+  // Reset terms for next node load...
+  taxonomy_node_get_terms($node->nid, 'tid', TRUE);
 }
 
 /**
