Index: i18n.pages.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/i18n/Attic/i18n.pages.inc,v
retrieving revision 1.1.2.2
diff -u -r1.1.2.2 i18n.pages.inc
--- i18n.pages.inc	27 Apr 2009 14:22:28 -0000	1.1.2.2
+++ i18n.pages.inc	13 Aug 2009 18:48:25 -0000
@@ -261,14 +261,16 @@
  */
 function theme_i18n_node_select_translation(&$elements) {
   $output = '';
-  $rows = array();
-  foreach (element_children($elements['nid']) as $lang) {
-    $rows[] = array(
-      drupal_render($elements['language'][$lang]),
-      drupal_render($elements['node'][$lang]),
-    );
+  if (isset($elements['nid'])) {
+    $rows = array();
+    foreach (element_children($elements['nid']) as $lang) {
+      $rows[] = array(
+        drupal_render($elements['language'][$lang]),
+        drupal_render($elements['node'][$lang]),
+      );
+    }
+    $output .= theme('table', array(), $rows);
+    $output .= drupal_render($elements);
   }
-  $output .= theme('table', array(), $rows);
-  $output .= drupal_render($elements);
   return $output;
 }
\ No newline at end of file
Index: i18n.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/i18n/i18n.module,v
retrieving revision 1.41.2.36
diff -u -r1.41.2.36 i18n.module
--- i18n.module	4 Aug 2009 14:45:06 -0000	1.41.2.36
+++ i18n.module	13 Aug 2009 18:48:25 -0000
@@ -301,7 +301,7 @@
     if ($node_edit || $node_translate) {
       $node_language = $node_edit ? $node->language : $_GET['language'];
       // Only needed if the node language is different from the interface one.
-      if ($node->language != $language->language) {
+      if ($node_language != $language->language) {
         $languages = language_list();
         if (isset($languages[$node_language])) {
           drupal_add_js(drupal_get_path('module', 'i18n') . '/i18n.js');
Index: i18nmenu/i18nmenu.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/i18n/i18nmenu/i18nmenu.module,v
retrieving revision 1.2.2.13
diff -u -r1.2.2.13 i18nmenu.module
--- i18nmenu/i18nmenu.module	4 Aug 2009 15:39:34 -0000	1.2.2.13
+++ i18nmenu/i18nmenu.module	13 Aug 2009 18:48:26 -0000
@@ -324,7 +324,7 @@
       }
       break;
     case 'prepare translation':
-      if (!$node->menu->mlid && !empty($node->translation_source)) {
+      if (empty($node->menu['mlid']) && !empty($node->translation_source)) {
         $tnode = $node->translation_source;
         // Prepare the tnode so the menu item will be available.
         node_object_prepare($tnode);
Index: i18nviews/i18nviews.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/i18n/i18nviews/i18nviews.module,v
retrieving revision 1.4.2.14
diff -u -r1.4.2.14 i18nviews.module
--- i18nviews/i18nviews.module	25 Jan 2009 17:43:55 -0000	1.4.2.14
+++ i18nviews/i18nviews.module	13 Aug 2009 18:48:26 -0000
@@ -67,7 +67,7 @@
 
   // Translate taxonomy fields.
   // @todo I don think this works at all.
-  if (module_exists('i18ntaxonomy') && is_array($view->field)) {
+  if (module_exists('i18ntaxonomy') && isset($view->field) && is_array($view->field)) {
     $translate = variable_get('i18ntaxonomy_vocabularies', array());
     foreach ($view->field as $index => $data) {
       $matches = array();
