Index: typo3/sysext/extbase/Classes/Persistence/Storage/Typo3DbBackend.php =================================================================== --- typo3/sysext/extbase/Classes/Persistence/Storage/Typo3DbBackend.php (revision 8991) +++ typo3/sysext/extbase/Classes/Persistence/Storage/Typo3DbBackend.php (working copy) @@ -794,7 +794,7 @@ protected function addSysLanguageStatement($tableName, array &$sql) { if (is_array($GLOBALS['TCA'][$tableName]['ctrl'])) { if(isset($GLOBALS['TCA'][$tableName]['ctrl']['languageField']) && $GLOBALS['TCA'][$tableName]['ctrl']['languageField'] !== NULL) { - $sql['additionalWhereClause'][] = $tableName . '.' . $GLOBALS['TCA'][$tableName]['ctrl']['languageField'] . ' IN (0,-1)'; + $sql['additionalWhereClause'][] = $tableName . '.' . $GLOBALS['TCA'][$tableName]['ctrl']['languageField'] . ' IN (0,-1,' . $GLOBALS['TSFE']->sys_language_uid . ')'; } } } @@ -951,6 +951,15 @@ $overlayedRows[] = $row; } } + + foreach($overlayedRows as $key=>$row) { + foreach($overlayedRows as $key2 => $row2) { + if ($row['_LOCALIZED_UID'] == $row2['uid']) { + unset($overlayedRows[$key2]); + } + } + } + return $overlayedRows; }