diff --git a/typo3/sysext/backend/Classes/Form/Element/InlineElement.php b/typo3/sysext/backend/Classes/Form/Element/InlineElement.php
index 0206783f5b8824fa9f27e90398f1c7456ce08a8d..c02846bf5cbd87ded692319966bb3f4dac3d227f 100644
--- a/typo3/sysext/backend/Classes/Form/Element/InlineElement.php
+++ b/typo3/sysext/backend/Classes/Form/Element/InlineElement.php
@@ -513,15 +513,35 @@ class InlineElement {
 		$isOnSymmetricSide = RelationHandler::isOnSymmetricSide($parentUid, $config, $rec);
 		$hasForeignLabel = !$isOnSymmetricSide && $config['foreign_label'] ? TRUE : FALSE;
 		$hasSymmetricLabel = $isOnSymmetricSide && $config['symmetric_label'] ? TRUE : FALSE;
+
 		// Get the record title/label for a record:
-		// render using a self-defined user function
-		if ($GLOBALS['TCA'][$foreign_table]['ctrl']['label_userFunc']) {
+		// Try using a self-defined user function only for formatted labels
+		if (isset($GLOBALS['TCA'][$foreign_table]['ctrl']['formattedLabel_userFunc'])) {
+			$params = array(
+				'table' => $foreign_table,
+				'row' => $rec,
+				'title' => '',
+				'isOnSymmetricSide' => $isOnSymmetricSide,
+				'options' => isset($GLOBALS['TCA'][$foreign_table]['ctrl']['formattedLabel_userFunc_options'])
+					? $GLOBALS['TCA'][$foreign_table]['ctrl']['formattedLabel_userFunc_options']
+					: array(),
+				'parent' => array(
+					'uid' => $parentUid,
+					'config' => $config
+				)
+			);
+			// callUserFunction requires a third parameter, but we don't want to give $this as reference!
+			$null = NULL;
+			GeneralUtility::callUserFunction($GLOBALS['TCA'][$foreign_table]['ctrl']['formattedLabel_userFunc'], $params, $null);
+			$recTitle = $params['title'];
+
+		// Try using a normal self-defined user function
+		} elseif (isset($GLOBALS['TCA'][$foreign_table]['ctrl']['label_userFunc'])) {
 			$params = array(
 				'table' => $foreign_table,
 				'row' => $rec,
 				'title' => '',
 				'isOnSymmetricSide' => $isOnSymmetricSide,
-				'options' => isset($GLOBALS['TCA'][$foreign_table]['ctrl']['label_userFunc_options']) ? $GLOBALS['TCA'][$foreign_table]['ctrl']['label_userFunc_options'] : array(),
 				'parent' => array(
 					'uid' => $parentUid,
 					'config' => $config
diff --git a/typo3/sysext/core/Configuration/TCA/sys_file_reference.php b/typo3/sysext/core/Configuration/TCA/sys_file_reference.php
index 7d1b7002fdf458986467f7b015e931d816ea6dab..bbfddbd4c722c8eed5806967bec80784fac381f6 100644
--- a/typo3/sysext/core/Configuration/TCA/sys_file_reference.php
+++ b/typo3/sysext/core/Configuration/TCA/sys_file_reference.php
@@ -3,8 +3,8 @@ return array(
 	'ctrl' => array(
 		'title' => 'LLL:EXT:lang/locallang_tca.xlf:sys_file_reference',
 		'label' => 'uid',
-		'label_userFunc' => 'EXT:core/Classes/Resource/Service/UserFileInlineLabelService.php:TYPO3\\CMS\\Core\\Resource\\Service\\UserFileInlineLabelService->getInlineLabel',
-		'label_userFunc_options' => array(
+		'formattedLabel_userFunc' => 'EXT:core/Classes/Resource/Service/UserFileInlineLabelService.php:TYPO3\\CMS\\Core\\Resource\\Service\\UserFileInlineLabelService->getInlineLabel',
+		'formattedLabel_userFunc_options' => array(
 			'sys_file' => array(
 				'title',
 				'name'