diff -ru languageinterface.orig/languageinterface.module languageinterface/languageinterface.module
--- languageinterface.orig/languageinterface.module	2008-12-22 09:44:41.000000000 +0200
+++ languageinterface/languageinterface.module	2008-12-22 09:57:34.000000000 +0200
@@ -78,13 +78,13 @@
 	
 	$languages = get_enabled_languages();
 	foreach ($languages as $lang) {
-    $prefix = $lang.'/';
-		if ($lang == 'en'){$prefix = '';}
+    $prefix = $lang->prefix . '/';
+	if ($prefix == "/"){ $prefix = ""; }
 		
 		if ($areatype == 'node'){
       if ($tnid){
-        if (specific_translation_exist($tnid, $lang)){
-          $destination_nid = specific_translation_exist($tnid, $lang);
+        if (specific_translation_exist($tnid, $lang->language)){
+          $destination_nid = specific_translation_exist($tnid, $lang->language);
         }
         else {$destination_nid = $tnid;}
 		  }
@@ -111,17 +111,17 @@
       $activeclass = FALSE;
     }
     
-    $src = rootpath() . str_replace('*', $lang, $flagpath);
-    $text = db_result(db_query('SELECT native FROM {languages} WHERE language = "%s"', $lang));
+    $src = rootpath() . str_replace('*', $lang->language, $flagpath);
+    $text = db_result(db_query('SELECT native FROM {languages} WHERE language = "%s"', $lang->language));
        
-    $links[$lang]['text']       = $text;
-    $links[$lang]['src']        = $src;
-    $links[$lang]['flagheight'] = $flagheight;
-    $links[$lang]['flagwidth']  = $flagwidth;
-    $links[$lang]['position']   = $textoptions;
-    $links[$lang]['path']       = $path;
-    $links[$lang]['active']     = $activeclass;
-    $links[$lang]['language']   = $lang;
+    $links[$lang->language]['text']       = $text;
+    $links[$lang->language]['src']        = $src;
+    $links[$lang->language]['flagheight'] = $flagheight;
+    $links[$lang->language]['flagwidth']  = $flagwidth;
+    $links[$lang->language]['position']   = $textoptions;
+    $links[$lang->language]['path']       = $path;
+    $links[$lang->language]['active']     = $activeclass;
+    $links[$lang->language]['language']   = $lang->language;
     
       
 	}
@@ -219,9 +219,9 @@
   $enabled = get_enabled_languages();
   $form['language_order']['lang_weight'] = array('#tree' => TRUE);
   foreach ($enabled as $lang) {
-    $text = db_result(db_query('SELECT native FROM {languages} WHERE language = "%s"', $lang));
-    $currentweight = db_result(db_query('SELECT weight FROM {languages} WHERE language = "%s"', $lang));
-    $form['language_order']['lang_weight'][$lang] = array(
+    $text = db_result(db_query('SELECT native FROM {languages} WHERE language = "%s"', $lang->language));
+    $currentweight = db_result(db_query('SELECT weight FROM {languages} WHERE language = "%s"', $lang->language));
+    $form['language_order']['lang_weight'][$lang->language] = array(
       '#type' => 'weight',
       '#title' => $text,
       '#delta' => 10, 
@@ -274,8 +274,8 @@
   if ($form_state['values']['reset_all'] == 0) {
     $enabledlanguages = get_enabled_languages();
     foreach($enabledlanguages as $lang){
-      $weight = $form_state['values']['language_order']['lang_weight'][$lang];
-      db_query('UPDATE {languages} SET weight = %d WHERE language = "%s"',$weight, $lang);
+      $weight = $form_state['values']['language_order']['lang_weight'][$lang->language];
+      db_query('UPDATE {languages} SET weight = %d WHERE language = "%s"',$weight, $lang->language);
     }
     if (!empty($form_state['values']['flagwidth']) && !empty($form_state['values']['flagheight'])){
       $dimensions = check_plain($form_state['values']['custom_dimensions']['flagwidth']) . 'x' . check_plain($form_state['values']['custom_dimensions']['flagheight']) ;
diff -ru languageinterface.orig/li_helperfunctions.inc languageinterface/li_helperfunctions.inc
--- languageinterface.orig/li_helperfunctions.inc	2008-12-22 09:44:52.000000000 +0200
+++ languageinterface/li_helperfunctions.inc	2008-12-22 09:26:43.000000000 +0200
@@ -23,9 +23,9 @@
  * Return an array of enabled languages ordered by weight so that the order of the flags can be customized
  */
 function get_enabled_languages(){
-  $result = db_query('SELECT language FROM {languages} WHERE enabled = 1 ORDER BY weight ASC');
+  $result = db_query('SELECT language,prefix FROM {languages} WHERE enabled = 1 ORDER BY weight ASC');
   while ($enabled_languages = db_fetch_object($result)) {
-    $languages[] = $enabled_languages->language; 
+    $languages[] = $enabled_languages;
   }
   return $languages;
 }
\ No newline at end of file
