Index: kernel/content/versionviewframe.php
===================================================================
--- kernel/content/versionviewframe.php	(revision 24533)
+++ kernel/content/versionviewframe.php	(working copy)
@@ -155,10 +155,47 @@
 }
 
 // Find ContentObjectLocale for all site accesses in RelatedSiteAccessList
+$siteaccessLocaleMap = array();
 foreach ( $ini->variable( 'SiteAccessSettings', 'RelatedSiteAccessList' ) as $relatedSA )
 {
-    $relatedSAINI = eZINI::getSiteAccessIni( $relatedSA, 'site.ini' );
-    $siteaccessLocaleMap[$relatedSA] = $relatedSAINI->variable( 'RegionalSettings', 'ContentObjectLocale' );
+    // If the site access is available
+    $siteAccessList = $ini->variable( 'SiteAccessSettings', 'AvailableSiteAccessList' );
+    if ( in_array( $relatedSA, $siteAccessList )  )
+    {
+        // Try reading global site accesses
+        $currentPath = "settings/siteaccess/$relatedSA";
+        if ( file_exists( $currentPath ) )
+        {
+            $relatedSAINI = eZINI::fetchFromFile( "$currentPath/site.ini" );
+            if ( $relatedSAINI->hasVariable( 'RegionalSettings', 'ContentObjectLocale' ) )
+                $siteaccessLocaleMap[$relatedSA] = $relatedSAINI->variable( 'RegionalSettings', 'ContentObjectLocale' );
+        }
+
+        // If locale not found in global site accesses
+        if ( !isset( $siteaccessLocaleMap[$relatedSA] ) )
+        {
+            // Try reading active extension site accesses
+            $activeExtensions = eZExtension::activeExtensions();
+            $baseDir = eZExtension::baseDirectory();
+            foreach ( $activeExtensions as $extension )
+            {
+                $currentPath = "$baseDir/$extension/settings/siteaccess/$relatedSA";
+                if ( file_exists( $currentPath ) )
+                {
+                    $relatedSAINI = eZINI::fetchFromFile( "$currentPath/site.ini" );
+                    if ( $relatedSAINI->hasVariable( 'RegionalSettings', 'ContentObjectLocale' ) )
+                    {
+                        $siteaccessLocaleMap[$relatedSA] = $relatedSAINI->variable( 'RegionalSettings', 'ContentObjectLocale' );
+                        break;
+                    }
+                }
+            }
+        }
+    }
+
+    // If locale not found anywhere, read global value
+    if ( !isset( $siteaccessLocaleMap[$relatedSA] ) )
+        $siteaccessLocaleMap[$relatedSA] = $ini->variable( 'RegionalSettings', 'ContentObjectLocale' );
 }
 
 
