diff --git a/ecrire/exec/articles.php b/ecrire/exec/articles.php
index 47c74a14f60a906c946651e88a96057f10cbdfdb..f674c0336fdc15daf450d0b3a7e9937d81f0794f 100644
--- a/ecrire/exec/articles.php
+++ b/ecrire/exec/articles.php
@@ -725,6 +725,11 @@ function langues_articles($id_article, $langue_article, $flag_editable, $id_rubr
 		$row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique"));
 		$langue_parent = $row['lang'];
 
+		if (!$langue_parent)
+			$langue_parent = $GLOBALS['meta']['langue_site'];
+		if (!$langue_article)
+			$langue_article = $langue_parent;
+
 		debut_cadre_couleur();
 		echo "<div style='text-align: center;'>";
 		echo menu_langues('changer_lang', $langue_article, _T('info_multi_cet_article').' ', $langue_parent);
diff --git a/ecrire/exec/naviguer.php b/ecrire/exec/naviguer.php
index fd0f951ecfe48410aa70e7a3070fd4252bbb6f0c..86e25067a9fa09ea2a1ccbbacc45e37bbe97ffbc 100644
--- a/ecrire/exec/naviguer.php
+++ b/ecrire/exec/naviguer.php
@@ -239,7 +239,10 @@ if ($id_rubrique>0 AND $GLOBALS['meta']['multi_rubriques'] == 'oui' AND ($GLOBAL
 		$row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_parent"));
 		$langue_parent = $row['lang'];
 	}
-	else $langue_parent = $GLOBALS['meta']['langue_site'];
+	if (!$langue_parent)
+		$langue_parent = $GLOBALS['meta']['langue_site'];
+	if (!$langue_rubrique)
+		$langue_rubrique = $langue_parent;
 
 	debut_cadre_enfonce('langues-24.gif');
 	echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=3 WIDTH=100% BACKGROUND=''><TR><TD BGCOLOR='#EEEECC' class='serif2'>";