diff --git a/typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/AbstractActionTestCase.php b/typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/AbstractActionTestCase.php
index 1188701ccba1ddb6839ff5b1ba230e3e84d6518d..804d8c016da2e9c2b9d53380b6ea460debf7c451 100644
--- a/typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/AbstractActionTestCase.php
+++ b/typo3/sysext/core/Tests/Functional/DataHandling/ManyToMany/AbstractActionTestCase.php
@@ -231,9 +231,7 @@ abstract class AbstractActionTestCase extends \TYPO3\CMS\Core\Tests\Functional\D
 		$responseContent = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId)->getResponseContent();
 		$this->assertResponseContentStructureHasRecords(
 			$responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, 'categories',
-			// @todo Category localization cannot be rendered - http://forge.typo3.org/issues/56059
-			// self::TABLE_Category, 'title', array('[Translate to Dansk:] Category A', 'Category B')
-			self::TABLE_Category, 'title', array('Category A', 'Category B')
+			self::TABLE_Category, 'title', array('[Translate to Dansk:] Category A', 'Category B')
 		);
 	}
 
diff --git a/typo3/sysext/frontend/Classes/Page/PageRepository.php b/typo3/sysext/frontend/Classes/Page/PageRepository.php
index dbc3b9f85d2adfe6299c00caf78f8d56a4b041dd..bd896578da75edd03b7612aa12c9fca9b8357b1b 100644
--- a/typo3/sysext/frontend/Classes/Page/PageRepository.php
+++ b/typo3/sysext/frontend/Classes/Page/PageRepository.php
@@ -104,6 +104,14 @@ class PageRepository {
 
 	protected $cache_getMountPointInfo = array();
 
+	/**
+	 * @var array
+	 */
+	protected $tableNamesAllowedOnRootLevel = array(
+		'sys_file_metadata',
+		'sys_category',
+	);
+
 	/**
 	 * Named constants for "magic numbers" of the field doktype
 	 */
@@ -366,7 +374,7 @@ class PageRepository {
 				$hookObject->getRecordOverlay_preProcess($table, $row, $sys_language_content, $OLmode, $this);
 			}
 		}
-		if ($row['uid'] > 0 && ($row['pid'] > 0 || $table == 'sys_file_metadata')) {
+		if ($row['uid'] > 0 && ($row['pid'] > 0 || in_array($table, $this->tableNamesAllowedOnRootLevel))) {
 			if ($GLOBALS['TCA'][$table] && $GLOBALS['TCA'][$table]['ctrl']['languageField'] && $GLOBALS['TCA'][$table]['ctrl']['transOrigPointerField']) {
 				if (!$GLOBALS['TCA'][$table]['ctrl']['transOrigPointerTable']) {
 					// Will not be able to work with other tables (Just didn't implement it yet; Requires a scan
diff --git a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/AbstractActionTestCase.php b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/AbstractActionTestCase.php
index b55ed8ef3669f028dc5b9fc23cb1fb2cf9d17ff6..838c0651244fdc8acdb732912e8ff794407ec4f3 100644
--- a/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/AbstractActionTestCase.php
+++ b/typo3/sysext/workspaces/Tests/Functional/DataHandling/ManyToMany/AbstractActionTestCase.php
@@ -328,9 +328,7 @@ abstract class AbstractActionTestCase extends \TYPO3\CMS\Core\Tests\Functional\D
 		$responseContent = $this->getFrontendResponse(self::VALUE_PageId, self::VALUE_LanguageId, self::VALUE_BackendUserId, self::VALUE_WorkspaceId)->getResponseContent();
 		$this->assertResponseContentStructureHasRecords(
 			$responseContent, self::TABLE_Content . ':' . self::VALUE_ContentIdFirst, 'categories',
-			// @todo Category localization cannot be rendered - http://forge.typo3.org/issues/56059
-			// self::TABLE_Category, 'title', array('[Translate to Dansk:] Category A', 'Category B')
-			self::TABLE_Category, 'title', array('Category A', 'Category B')
+			self::TABLE_Category, 'title', array('[Translate to Dansk:] Category A', 'Category B')
 		);
 	}