--- i18n.install	2006-09-23 17:11:20.000000000 +0200
+++ i18n.install_new	2006-10-17 17:59:52.000000000 +0200
@@ -69,7 +69,7 @@ function i18n_update_1() {
   $items = array();
   $items[] = update_sql("ALTER TABLE {i18n_node} ADD language VARCHAR(12)");
   $items[] = update_sql("UPDATE {i18n_node} i INNER JOIN {node} n ON i.nid = n.nid SET i.language = n.language ");
-  $items[] = update_sql("INSERT INTO {i18n_node}(nid,language) SELECT n.nid, n.language FROM {node} n WHERE n.language != '' AND n.nid NOT IN (SELECT nid FROM {i18n_node})");
+  $items[] = update_sql("INSERT INTO {i18n_node}(nid,language) SELECT n.nid, n.language FROM {node} n LEFT JOIN {i18n_node} i ON n.nid = i.nid WHERE n.language != '' AND i.nid IS NULL");
   return $items;
 }
 
@@ -81,7 +81,7 @@ function i18n_update_2() {
 }
 
 function i18n_update_3(){
-  $items[] = array();
+  $items = array();
   $items[] = update_sql("ALTER TABLE {i18n_node} MODIFY COLUMN trid INTEGER UNSIGNED NOT NULL default '0', DROP PRIMARY KEY, ADD PRIMARY KEY(nid)");
   $items[] = update_sql("ALTER TABLE {term_data} MODIFY COLUMN trid INTEGER UNSIGNED NOT NULL default '0', DROP PRIMARY KEY, ADD PRIMARY KEY(tid)");
   return $items;
