Index: ezplanguageswitcher.php
===================================================================
--- ezplanguageswitcher.php	(révision 23992)
+++ ezplanguageswitcher.php	(copie de travail)
@@ -129,12 +129,19 @@
             // which case we will point to the root of the site, unless it is
             // available as a fallback.
 
-            if ( $this->isUrlPointingToModule( $this->origUrl ) ||
-                 $this->isLocaleAvailableAsFallback() )
+            if ( $this->isUrlPointingToModule( $this->origUrl ) )
             {
                 // We have a module, we're keeping the orignal url.
                 $urlAlias = $this->origUrl;
             }
+            elseif ( $this->isLocaleAvailableAsFallback() )
+            {
+                $destinationElement = eZURLAliasML::fetchByAction( 'eznode', $nodeId );
+                $saIni = $this->getSiteAccessIni();
+                $siteLanguageList = $saIni->variable( 'RegionalSettings', 'SiteLanguageList' );
+                $urlAlias = $destinationElement[0]->getPath( $this->destinationLocale, $siteLanguageList );
+                $urlAlias .= $this->userParamString;
+            }
             else
             {
                 // We probably have an untranslated object, which is not
@@ -244,4 +251,4 @@
     }
 }
 
-?>
\ No newline at end of file
+?>
