diff --git a/typo3/sysext/backend/Classes/Form/DataPreprocessor.php b/typo3/sysext/backend/Classes/Form/DataPreprocessor.php
index a22eae0708b74d7646cc1dc711280cef0daf7de1..f7db268cd15ed9c9ec03bd6eb6de08418cafe262 100644
--- a/typo3/sysext/backend/Classes/Form/DataPreprocessor.php
+++ b/typo3/sysext/backend/Classes/Form/DataPreprocessor.php
@@ -755,6 +755,8 @@ class DataPreprocessor {
 		// Foreign_table
 		$subres = BackendUtility::exec_foreign_table_where_query($fieldConfig, $field, $TSconfig);
 		while ($subrow = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($subres)) {
+			// Resolve move-placeholder, to check the right uid against $dataIds
+			BackendUtility::workspaceOL($fieldConfig['config']['foreign_table'], $subrow);
 			$recordList[$subrow['uid']] = BackendUtility::getRecordTitle($fieldConfig['config']['foreign_table'], $subrow);
 		}
 		$GLOBALS['TYPO3_DB']->sql_free_result($subres);
@@ -762,6 +764,8 @@ class DataPreprocessor {
 		if (is_array($GLOBALS['TCA'][$fieldConfig['config']['neg_foreign_table']])) {
 			$subres = BackendUtility::exec_foreign_table_where_query($fieldConfig, $field, $TSconfig, 'neg_');
 			while ($subrow = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($subres)) {
+				// Resolve move-placeholder, to check the right uid against $dataIds
+				BackendUtility::workspaceOL($fieldConfig['config']['nes_foreign_table'], $subrow);
 				$recordList[-$subrow['uid']] = BackendUtility::getRecordTitle($fieldConfig['config']['neg_foreign_table'], $subrow);
 			}
 			$GLOBALS['TYPO3_DB']->sql_free_result($subres);