diff --git a/kernel/private/classes/ezplanguageswitcher.php b/kernel/private/classes/ezplanguageswitcher.php
index 7f36105291cf892c29c0544624ab9efe1b0d5abc..d1c24e8c2e03b4274c8ca1f8623b944dfeed0df6 100644
--- a/kernel/private/classes/ezplanguageswitcher.php
+++ b/kernel/private/classes/ezplanguageswitcher.php
@@ -157,7 +157,22 @@ class ezpLanguageSwitcher implements ezpLanguageSwitcherCapable
 
         if ( $GLOBALS['eZCurrentAccess']['type'] === eZSiteAccess::TYPE_URI )
         {
-            $finalUrl = $this->baseDestinationUrl . '/' . $this->destinationSiteAccess . '/' . $urlAlias;
+            $ini = eZINI::instance( 'site.ini' );
+            if ( $ini->variable( 'SiteAccessSettings', 'URIMatchType' ) === 'map' )
+            {
+                foreach ( $ini->variableArray( 'SiteAccessSettings', 'URIMatchMapItems' ) as $uriMatchMapItem )
+                {
+                    if ( $uriMatchMapItem[1] === $this->destinationSiteAccess )
+                    {
+                        $finalUrl = $this->baseDestinationUrl . '/' . $uriMatchMapItem[0] . '/' . $urlAlias;
+                        break;
+                    }
+                }
+            }
+            else
+            {
+                $finalUrl = $this->baseDestinationUrl . '/' . $this->destinationSiteAccess . '/' . $urlAlias;
+            }
         }
         else
         {
@@ -174,6 +189,19 @@ class ezpLanguageSwitcher implements ezpLanguageSwitcherCapable
      */
     public function setDestinationSiteAccess( $saName )
     {
+        $ini = eZINI::instance( 'site.ini' );
+        if ( $ini->variable( 'SiteAccessSettings', 'URIMatchType' ) === 'map' )
+        {
+            foreach ( $ini->variableArray( 'SiteAccessSettings', 'URIMatchMapItems' ) as $uriMatchMapItem )
+            {
+                if ( $uriMatchMapItem[0] === $saName )
+                {
+                    $this->destinationSiteAccess = $uriMatchMapItem[1];
+                    return;
+                }
+            }
+        }
+
         $this->destinationSiteAccess = $saName;
     }
 
