Index: taxonomy.module
===================================================================
--- taxonomy.module	(revision x)
+++ taxonomy.module	(working copy)
@@ -571,7 +571,7 @@
  */
 function taxonomy_preview_terms($node) {
   $taxonomy = array();
-  if (isset($node->taxonomy)) {
+  if (isset($node->taxonomy) && (!$node->built_preview_terms)) {
     foreach ($node->taxonomy as $key => $term) {
       unset($node->taxonomy[$key]);
       // A 'Multiple select' and a 'Free tagging' field returns an array.
@@ -593,6 +593,7 @@
       }
     }
   }
+  $node->built_preview_terms = true;
   return $taxonomy;
 }
 
