diff --git a/kernel/private/modules/switchlanguage/ezpLanguageSwitcherFunctionCollection.php b/kernel/private/modules/switchlanguage/ezpLanguageSwitcherFunctionCollection.php
index cecd7b8c1fb2b6fda84ab2ae360671463635fe7c..96f7108cf1400d9e61524a7ece83e40aa2ae0ade 100644
--- a/kernel/private/modules/switchlanguage/ezpLanguageSwitcherFunctionCollection.php
+++ b/kernel/private/modules/switchlanguage/ezpLanguageSwitcherFunctionCollection.php
@@ -37,8 +37,12 @@ class ezpLanguageSwitcherFunctionCollection
             return array( 'result' => false );
         }
 
-        $urlAlias = $destinationElement[0]->getPath( $locale );
+        $currentLanguageCodes = eZContentLanguage::prioritizedLanguageCodes();
+        array_unshift( $currentLanguageCodes, $locale );
+        $currentLanguageCodes = array_unique( $currentLanguageCodes );
+        $urlAlias = $destinationElement[0]->getPath( $locale, $currentLanguageCodes );
         return array( 'result' => $urlAlias );
     }
 }
-?>
\ No newline at end of file
+
+?>
