Index: i18nsync/i18nsync.module
===================================================================
--- i18nsync/i18nsync.module	(revision 74)
+++ i18nsync/i18nsync.module	(working copy)
@@ -124,7 +124,17 @@ function i18nsync_nodeapi(&$node, $op, $a3 = NULL,
             }
           }
         }
-        // Intentional no break
+        // hack to sync taxonomy terms (this previously just fell through to the 'update' case here) -- mvc 27sep2008
+        // Field synchronization is different than for op=='update' because $node->tnid isn't set yet
+        $fields = i18nsync_node_fields($node->type);
+        $i18nsync = TRUE;
+        if ($node->translation_source) {
+          $trnode = $node->translation_source;
+          i18nsync_node_translation($trnode, $node, $fields, $op);
+          drupal_set_message(t('Fields for new node translation have been synchronized'));
+        }
+        $i18nsync = FALSE;
+        break;
       case 'update':
         // Let's go with field synchronization.
         if (!empty($node->tnid) && ($fields = i18nsync_node_fields($node->type)) && ($translations = translation_node_get_translations($node->tnid)) && count($translations) > 1) {
@@ -252,7 +262,8 @@ function i18nsync_node_translation($node, $transla
  */
 function i18nsync_taxonomyfield(&$node, $source) {
   if (module_exists('i18ntaxonomy')) {
-    $node->taxonomy = i18ntaxonomy_translate_terms($source->taxonomy, $node->language);
+    //$node->taxonomy = i18ntaxonomy_translate_terms($source->taxonomy, $node->language);
+    $node->taxonomy = $source->taxonomy; // hack to sync taxonomy terms -- mvc 27sep2008
   } else {
     // If not multilingual taxonomy enabled, just copy over
     $node->taxonomy = $source->taxonomy;
Index: i18ntaxonomy/i18ntaxonomy.module
===================================================================
--- i18ntaxonomy/i18ntaxonomy.module	(revision 74)
+++ i18ntaxonomy/i18ntaxonomy.module	(working copy)
@@ -539,7 +539,9 @@ function i18ntaxonomy_nodeapi(&$node, $op) {
       // Taxonomy translation
       if (is_array($source->taxonomy)) {
         // Set translated taxonomy terms
-        $node->taxonomy = i18ntaxonomy_translate_terms($source->taxonomy, $node->language);
+        //$node->taxonomy = i18ntaxonomy_translate_terms($source->taxonomy, $node->language);
+        // hack to sync taxonomy terms which are translated used i18nstrings -- mvc 27sep2008
+        $node->taxonomy = $source->taxonomy;
       }
       break;
   }
