diff --git a/typo3/sysext/core/Classes/Database/ReferenceIndex.php b/typo3/sysext/core/Classes/Database/ReferenceIndex.php
index 04016ec2276b069e5e85c28f442d605c5bed76a6..93f40a87e0a2c52eeafa16d54c430a0edd18fbfd 100644
--- a/typo3/sysext/core/Classes/Database/ReferenceIndex.php
+++ b/typo3/sysext/core/Classes/Database/ReferenceIndex.php
@@ -17,6 +17,7 @@ namespace TYPO3\CMS\Core\Database;
 use TYPO3\CMS\Backend\Utility\BackendUtility;
 use TYPO3\CMS\Core\Messaging\FlashMessage;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Core\Utility\StringUtility;
 
 /**
  * Reference index processing and relation extraction
@@ -308,7 +309,10 @@ class ReferenceIndex {
 							switch ((string)$el['subst']['type']) {
 								case 'db':
 									list($tableName, $recordId) = explode(':', $el['subst']['recordRef']);
-									$this->relations[] = $this->createEntryData($table, $uid, $fieldname, $flexpointer, $deleted, $tableName, $recordId, '', -1, $spKey, $subKey);
+									// Prevent double references for files and file relations
+									if ($tableName !== 'sys_file' && $tableName !== 'sys_file_reference') {
+										$this->relations[] = $this->createEntryData($table, $uid, $fieldname, $flexpointer, $deleted, $tableName, $recordId, '', -1, $spKey, $subKey);
+									}
 									break;
 								case 'file_reference':
 									// not used (see getRelations()), but fallback to file
@@ -597,7 +601,7 @@ class ReferenceIndex {
 				$fileArray[] = array('table' => 'sys_file', 'id' => $fileUid['uid_local']);
 			}
 			return $fileArray;
-		} elseif ($conf['type'] == 'input' && isset($conf['wizards']['link']) && trim($value)) {
+		} elseif ($conf['type'] == 'input' && isset($conf['wizards']['link']) && StringUtility::beginsWith($value, 'file:')) {
 			try {
 				$file = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->retrieveFileOrFolderObject($value);
 			} catch (\Exception $e) {
diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content.xml
index 6a7a7b69c8b47f09d18592e05347f427c019c716..420f7cbd27eb5c3b95ba88abdc0fbb51c34725a0 100644
--- a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content.xml
+++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content.xml
@@ -5,7 +5,7 @@
 		<pid>1</pid>
 		<CType>text</CType>
 		<header>Test content</header>
-		<header_link>fileadmin/user_upload/typo3_image3.jpg</header_link>
+		<header_link>file:2</header_link>
 		<deleted>0</deleted>
 		<t3ver_oid>0</t3ver_oid>
 		<t3ver_wsid>0</t3ver_wsid>
@@ -15,7 +15,7 @@
 		<pid>1</pid>
 		<CType>text</CType>
 		<header>Test content 2</header>
-		<header_link>typo3conf/ext/template_extension/Resources/Public/Templates/Empty.html</header_link>
+		<header_link>file:4</header_link>
 		<deleted>0</deleted>
 		<t3ver_oid>0</t3ver_oid>
 		<t3ver_wsid>0</t3ver_wsid>
diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/pages-and-ttcontent.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/pages-and-ttcontent.xml
index 9c839bae3b5b491ceef3d6a7fb64dd39fff38bc6..2a1be5242cf3658f749919e4aae7572502195e3d 100644
--- a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/pages-and-ttcontent.xml
+++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/pages-and-ttcontent.xml
@@ -29,7 +29,7 @@
 					<uid>1</uid>
 					<pid>1</pid>
 					<title>Test content</title>
-					<size>230</size>
+					<size>197</size>
 					<relations index="rels" type="array">
 						<element index="sys_file:2" type="array">
 							<table>sys_file</table>
@@ -37,13 +37,24 @@
 						</element>
 					</relations>
 					<softrefs type="array">
+						<softref_element index="header_link:typolink:2487ce518ed56d22f20f259928ff43f1:0" type="array">
+							<field>header_link</field>
+							<spKey>typolink</spKey>
+							<matchString>file:2</matchString>
+							<subst type="array">
+								<type>db</type>
+								<recordRef>sys_file:2</recordRef>
+								<tokenID>2487ce518ed56d22f20f259928ff43f1</tokenID>
+								<tokenValue>file:2</tokenValue>
+							</subst>
+						</softref_element>
 					</softrefs>
 				</rec>
 				<rec index="2" type="array">
 					<uid>2</uid>
 					<pid>1</pid>
 					<title>Test content 2</title>
-					<size>264</size>
+					<size>199</size>
 					<relations index="rels" type="array">
 						<element index="sys_file:4" type="array">
 							<table>sys_file</table>
@@ -54,7 +65,13 @@
 						<softref_element index="header_link:typolink:81b8b33df54ef433f1cbc7c3e513e6c4:0" type="array">
 							<field>header_link</field>
 							<spKey>typolink</spKey>
-							<matchString>typo3conf/ext/template_extension/Resources/Public/Templates/Empty.html</matchString>
+							<matchString>file:4</matchString>
+							<subst type="array">
+								<type>db</type>
+								<recordRef>sys_file:4</recordRef>
+								<tokenID>81b8b33df54ef433f1cbc7c3e513e6c4</tokenID>
+								<tokenValue>file:4</tokenValue>
+							</subst>
 						</softref_element>
 					</softrefs>
 				</rec>
@@ -167,7 +184,7 @@
 				<field index="CType">text</field>
 				<field index="header">Test content</field>
 				<field index="deleted">0</field>
-				<field index="header_link">fileadmin/user_upload/typo3_image3.jpg</field>
+				<field index="header_link">file:2</field>
 			</fieldlist>
 			<related index="rels" type="array">
 				<field index="header_link" type="array">
@@ -178,6 +195,22 @@
 							<id>2</id>
 						</element>
 					</relations>
+					<softrefs type="array">
+						<keys type="array">
+							<softref_key index="typolink" type="array">
+								<softref_element index="2487ce518ed56d22f20f259928ff43f1:0" type="array">
+									<matchString>file:2</matchString>
+									<subst type="array">
+										<type>db</type>
+										<recordRef>sys_file:2</recordRef>
+										<tokenID>2487ce518ed56d22f20f259928ff43f1</tokenID>
+										<tokenValue>file:2</tokenValue>
+									</subst>
+								</softref_element>
+							</softref_key>
+						</keys>
+						<tokenizedContent>{softref:2487ce518ed56d22f20f259928ff43f1}</tokenizedContent>
+					</softrefs>
 				</field>
 			</related>
 		</tablerow>
@@ -190,7 +223,7 @@
 				<field index="CType">text</field>
 				<field index="header">Test content 2</field>
 				<field index="deleted">0</field>
-				<field index="header_link">typo3conf/ext/template_extension/Resources/Public/Templates/Empty.html</field>
+				<field index="header_link">file:4</field>
 			</fieldlist>
 			<related index="rels" type="array">
 				<field index="header_link" type="array">
@@ -205,10 +238,17 @@
 						<keys type="array">
 							<softref_key index="typolink" type="array">
 								<softref_element index="81b8b33df54ef433f1cbc7c3e513e6c4:0" type="array">
-									<matchString>typo3conf/ext/template_extension/Resources/Public/Templates/Empty.html</matchString>
+									<matchString>file:4</matchString>
+									<subst type="array">
+										<type>db</type>
+										<recordRef>sys_file:4</recordRef>
+										<tokenID>81b8b33df54ef433f1cbc7c3e513e6c4</tokenID>
+										<tokenValue>file:4</tokenValue>
+									</subst>
 								</softref_element>
 							</softref_key>
 						</keys>
+						<tokenizedContent>{softref:81b8b33df54ef433f1cbc7c3e513e6c4}</tokenizedContent>
 					</softrefs>
 				</field>
 			</related>
diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/DataSet/Assertion/importPagesAndRelatedTtContent.csv b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/DataSet/Assertion/importPagesAndRelatedTtContent.csv
index 8c3a3dbedf388d53a8adf8aed56c8359a7e46d09..45e833edcd1b5534684d23b2b8ca435acb6ca204 100644
--- a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/DataSet/Assertion/importPagesAndRelatedTtContent.csv
+++ b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/DataSet/Assertion/importPagesAndRelatedTtContent.csv
@@ -4,8 +4,8 @@
 ,2,1,256,0,"Dummy 1-2"
 "tt_content"
 ,"uid","pid","sorting","deleted","header","header_link"
-,1,1,256,0,"Test content 2","typo3conf/ext/template_extension/Resources/Public/Templates/Empty.html"
-,2,1,128,0,"Test content","fileadmin/user_upload/typo3_image3.jpg"
+,1,1,256,0,"Test content 2","file:2"
+,2,1,128,0,"Test content","file:1"
 "sys_file"
 ,"uid","pid","storage","type","identifier","identifier_hash","folder_hash","extension","mime_type","name","sha1","size"
 ,1,0,1,2,"/user_upload/typo3_image3.jpg","25777b72e5e1cbed2d1b33e4fe5b737304b5bd28","19669f1e02c2f16705ec7587044c66443be70725","jpg","image/jpeg","typo3_image3.jpg","e873c1e2ffd0f191e183a1057de3eef4d62e782d","5565"