Index: i18nmenu_node.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/i18nmenu_node/i18nmenu_node.module,v
retrieving revision 1.4
diff -u -p -r1.4 i18nmenu_node.module
--- i18nmenu_node.module	29 Jul 2010 12:18:11 -0000	1.4
+++ i18nmenu_node.module	29 Jul 2010 12:41:39 -0000
@@ -260,15 +260,16 @@ function i18nmenu_node_form_alter(&$form
       $node_translation_form['#default_value'] = i18nmenu_node_translation_enabled($menu_name);
     }
 
-    // New translation.
-    if (!empty($node->translation_source)) {
-      $tnode = $node->translation_source;
-    }
-    // Editing existing translation.
-    elseif (!empty($node->nid) && !empty($node->tnid) && $node->nid != $node->tnid) {
-      $tnode = node_load($node->tnid);
-    }
-    // If no translation node, return.
+    // Select the current translation set id.
+    $tnid = !empty($node->translation_source) ? $node->translation_source->tnid : $node->tnid;
+
+    // Get the original node translation.
+    if (!empty($tnid) && $node->nid != $tnid) {
+      $tnode = node_load($tnid);
+    }
+    // If we have no translations or this is the original translation we just
+    // need to show the "Enable translations" checkbox (if translation support
+    // is enabled).
     else {
       if ($translation_support) {
         $form['menu']['i18nmenu_node_translation'] = $node_translation_form;
@@ -319,7 +320,7 @@ function i18nmenu_node_nodeapi(&$node, $
   switch ($op) {
     case 'insert':
       if ($node->translation_source) {
-        i18nmenu_node_item_translations_refresh_set($node->translation_source->nid);
+        i18nmenu_node_item_translations_refresh_set($node->translation_source->tnid);
       }
       break;
 
