--- i18nsync.module.orig	2007-06-06 13:54:18.000000000 +0200
+++ i18nsync.module	2008-04-04 12:59:46.000000000 +0200
@@ -44,16 +44,18 @@ function i18nsync_form_alter($form_id, &
       // saved as an array. Special themeing for group titles.
       foreach (i18nsync_node_available_fields($type) as $group => $data) {
         $title = $data['#title'];
-        foreach ($data['#options'] as $field => $name) {
-          $form['workflow']['i18n']['i18nsync_nodeapi'][$field] = array(
-            '#group_title' => $title,
-            '#title' => $name,
-            '#type' => 'checkbox',
-            '#default_value' => in_array($field, $current),
-            '#theme' => 'i18nsync_workflow_checkbox',
-          );
-          $title = '';  
-        }     
+        if (is_array($data['#options'])) {
+          foreach ($data['#options'] as $field => $name) {
+            $form['workflow']['i18n']['i18nsync_nodeapi'][$field] = array(
+              '#group_title' => $title,
+              '#title' => $name,
+              '#type' => 'checkbox',
+              '#default_value' => in_array($field, $current),
+              '#theme' => 'i18nsync_workflow_checkbox',
+            );
+            $title = '';
+          }
+        } 
       }
 
       break;
@@ -229,6 +231,16 @@ function i18nsync_node_taxonomy($node, $
         " WHERE tdt.trid AND tdt.language = n.language " . // trid cannot be 0 or NULL
         " AND n.nid != %d AND tn.nid = %d AND n.trid = %d AND td.vid = %d",
          $node->nid, $node->nid, $node->trid, $vocabulary->vid);  
+
+  // Update path for translations with  pathauto
+  if (module_exists('pathauto') && is_array($node->translation)) {
+    pathauto_node_operations_update(
+      array_map(
+        create_function('$t','return $t->nid;'),
+        $node->translation
+      )
+    );
+  }
 }
 
 /**
