diff --git a/core/modules/file/file.views.inc b/core/modules/file/file.views.inc
index a2edb20..a8fc0fe 100644
--- a/core/modules/file/file.views.inc
+++ b/core/modules/file/file.views.inc
@@ -23,7 +23,7 @@ function file_field_views_data(FieldStorageConfigInterface $field_storage) {
       'id' => 'standard',
       'base' => 'file_managed',
       'entity type' => 'file',
-      'base field' => 'target_id',
+      'base field' => 'fid',
       'label' => t('file from !field_name', array('!field_name' => $field_storage->getName())),
     );
   }
diff --git a/core/modules/file/src/Tests/Views/RelationshipUserFileDataTest.php b/core/modules/file/src/Tests/Views/RelationshipUserFileDataTest.php
new file mode 100644
index 0000000..582c662
--- /dev/null
+++ b/core/modules/file/src/Tests/Views/RelationshipUserFileDataTest.php
@@ -0,0 +1,99 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\image\Tests\Views\RelationshipUserFileDataTest.
+ */
+
+namespace Drupal\file\Tests\Views;
+
+use Drupal\views\Tests\ViewTestBase;
+use Drupal\views\Views;
+use Drupal\views\Tests\ViewTestData;
+
+/**
+ * Tests file on user relationship handler.
+ *
+ * @group file
+ */
+class RelationshipUserFileDataTest extends ViewTestBase {
+
+  /**
+   * Modules to install.
+   *
+   * @var array
+   */
+  public static $modules = array('file', 'file_test_views', 'user');
+
+
+  /**
+   * Views used by this test.
+   *
+   * @var array
+   */
+  public static $testViews = array('test_file_user_file_data');
+
+  protected function setUp() {
+    parent::setUp();
+
+    // Create the user profile field and instance.
+    entity_create('field_storage_config', array(
+      'entity_type' => 'user',
+      'field_name' => 'user_file',
+      'type' => 'file',
+      'translatable' => '0',
+    ))->save();
+    entity_create('field_config', array(
+      'label' => 'User File',
+      'description' => '',
+      'field_name' => 'user_file',
+      'entity_type' => 'user',
+      'bundle' => 'user',
+      'required' => 0,
+    ))->save();
+
+    ViewTestData::createTestViews(get_class($this), array('file_test_views'));
+  }
+
+  /**
+   * Tests using the views file relationship.
+   */
+  public function testViewsHandlerRelationshipUserFileData() {
+    $file = entity_create('file', array(
+      'fid' => 2,
+      'uid' => 2,
+      'filename' => 'image-test.jpg',
+      'uri' => "public://image-test.jpg",
+      'filemime' => 'image/jpeg',
+      'created' => 1,
+      'changed' => 1,
+      'status' => FILE_STATUS_PERMANENT,
+    ));
+    $file->enforceIsNew();
+    file_put_contents($file->getFileUri(), file_get_contents('core/modules/simpletest/files/image-1.png'));
+    $file->save();
+
+    $account = $this->drupalCreateUser();
+    $account->user_file->target_id = 2;
+    $account->save();
+
+    $view = Views::getView('test_file_user_file_data');
+    // Tests \Drupal\taxonomy\Plugin\views\relationship\NodeTermData::calculateDependencies().
+    $expected = [
+      'module' => [
+        'file',
+        'user',
+      ],
+    ];
+    $this->assertIdentical($expected, $view->calculateDependencies());
+    $this->executeView($view);
+    $expected_result = array(
+      array(
+        'file_managed_user__user_file_fid' => '2',
+      ),
+    );
+    $column_map = array('file_managed_user__user_file_fid' => 'file_managed_user__user_file_fid');
+    $this->assertIdenticalResultset($view, $expected_result, $column_map);
+  }
+
+}
diff --git a/core/modules/file/tests/modules/file_test_views/test_views/views.view.test_file_user_file_data.yml b/core/modules/file/tests/modules/file_test_views/test_views/views.view.test_file_user_file_data.yml
new file mode 100644
index 0000000..1095f64
--- /dev/null
+++ b/core/modules/file/tests/modules/file_test_views/test_views/views.view.test_file_user_file_data.yml
@@ -0,0 +1,79 @@
+langcode: und
+status: true
+dependencies:
+  module:
+    - file
+    - user
+id: test_file_user_file_data
+label: test_file_user_file_data
+module: views
+description: ''
+tag: ''
+base_table: users
+base_field: uid
+core: 8.x
+display:
+  default:
+    display_plugin: default
+    id: default
+    display_title: Master
+    position: 0
+    display_options:
+      access:
+        type: perm
+        options:
+          perm: 'access user profiles'
+      cache:
+        type: none
+      style:
+        type: table
+        options:
+          grouping: {  }
+          row_class: ''
+          default_row_class: true
+          override: true
+          sticky: false
+          caption: ''
+          summary: ''
+          description: ''
+          columns:
+            name: name
+            fid: fid
+          info:
+            name:
+              sortable: false
+              default_sort_order: asc
+              align: ''
+              separator: ''
+              empty_column: false
+              responsive: ''
+            fid:
+              sortable: false
+              default_sort_order: asc
+              align: ''
+              separator: ''
+              empty_column: false
+              responsive: ''
+          default: '-1'
+          empty_table: false
+      row:
+        type: fields
+        options:
+          inline: {  }
+          separator: ''
+          hide_empty: false
+          default_field_elements: true
+      relationships:
+        user_file_target_id:
+          id: user_file_target_id
+          table: user__user_file
+          field: user_file_target_id
+          relationship: none
+          group_type: group
+          admin_label: 'file from user_file'
+          required: true
+          plugin_id: standard
+      arguments: {  }
+      display_extenders: {  }
+      field_langcode: '***LANGUAGE_language_content***'
+      field_langcode_add_to_query: null
diff --git a/core/modules/image/image.views.inc b/core/modules/image/image.views.inc
index 36e5dfc..1131e87 100644
--- a/core/modules/image/image.views.inc
+++ b/core/modules/image/image.views.inc
@@ -22,7 +22,7 @@ function image_field_views_data(FieldStorageConfigInterface $field_storage) {
     $data[$table_name][$field_storage->getName() . '_target_id']['relationship'] = array(
       'id' => 'standard',
       'base' => 'file_managed',
-      'base field' => 'target_id',
+      'base field' => 'fid',
       'label' => t('image from !field_name', array('!field_name' => $field_storage->getName())),
     );
   }
diff --git a/core/modules/image/src/Tests/Views/RelationshipUserImageDataTest.php b/core/modules/image/src/Tests/Views/RelationshipUserImageDataTest.php
new file mode 100644
index 0000000..1164288
--- /dev/null
+++ b/core/modules/image/src/Tests/Views/RelationshipUserImageDataTest.php
@@ -0,0 +1,99 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\image\Tests\Views\RelationshipUserImageDataTest.
+ */
+
+namespace Drupal\image\Tests\Views;
+
+use Drupal\views\Tests\ViewTestBase;
+use Drupal\views\Views;
+use Drupal\views\Tests\ViewTestData;
+
+/**
+ * Tests image on user relationship handler.
+ *
+ * @group image
+ */
+class RelationshipUserImageDataTest extends ViewTestBase {
+
+  /**
+   * Modules to install.
+   *
+   * @var array
+   */
+  public static $modules = array('image', 'image_test_views', 'user');
+
+
+  /**
+   * Views used by this test.
+   *
+   * @var array
+   */
+  public static $testViews = array('test_image_user_image_data');
+
+  protected function setUp() {
+    parent::setUp();
+
+    // Create the user profile field and instance.
+    entity_create('field_storage_config', array(
+      'entity_type' => 'user',
+      'field_name' => 'user_picture',
+      'type' => 'image',
+      'translatable' => '0',
+    ))->save();
+    entity_create('field_config', array(
+      'label' => 'User Picture',
+      'description' => '',
+      'field_name' => 'user_picture',
+      'entity_type' => 'user',
+      'bundle' => 'user',
+      'required' => 0,
+    ))->save();
+
+    ViewTestData::createTestViews(get_class($this), array('image_test_views'));
+  }
+
+  /**
+   * Tests using the views image relationship.
+   */
+  public function testViewsHandlerRelationshipUserImageData() {
+    $file = entity_create('file', array(
+      'fid' => 2,
+      'uid' => 2,
+      'filename' => 'image-test.jpg',
+      'uri' => "public://image-test.jpg",
+      'filemime' => 'image/jpeg',
+      'created' => 1,
+      'changed' => 1,
+      'status' => FILE_STATUS_PERMANENT,
+    ));
+    $file->enforceIsNew();
+    file_put_contents($file->getFileUri(), file_get_contents('core/modules/simpletest/files/image-1.png'));
+    $file->save();
+
+    $account = $this->drupalCreateUser();
+    $account->user_picture->target_id = 2;
+    $account->save();
+
+    $view = Views::getView('test_image_user_image_data');
+    // Tests \Drupal\taxonomy\Plugin\views\relationship\NodeTermData::calculateDependencies().
+    $expected = [
+      'module' => [
+        'file',
+        'user',
+      ],
+    ];
+    $this->assertIdentical($expected, $view->calculateDependencies());
+    $this->executeView($view);
+    $expected_result = array(
+      array(
+        'file_managed_user__user_picture_fid' => '2',
+      ),
+    );
+    $column_map = array('file_managed_user__user_picture_fid' => 'file_managed_user__user_picture_fid');
+    $this->assertIdenticalResultset($view, $expected_result, $column_map);
+  }
+
+}
diff --git a/core/modules/image/tests/modules/image_test_views/image_test_views.info.yml b/core/modules/image/tests/modules/image_test_views/image_test_views.info.yml
new file mode 100644
index 0000000..b5e1000
--- /dev/null
+++ b/core/modules/image/tests/modules/image_test_views/image_test_views.info.yml
@@ -0,0 +1,9 @@
+name: 'Image test views'
+type: module
+description: 'Provides default views for views image tests.'
+package: Testing
+version: VERSION
+core: 8.x
+dependencies:
+  - image
+  - views
diff --git a/core/modules/image/tests/modules/image_test_views/test_views/views.view.test_image_user_image_data.yml b/core/modules/image/tests/modules/image_test_views/test_views/views.view.test_image_user_image_data.yml
new file mode 100644
index 0000000..43a4448
--- /dev/null
+++ b/core/modules/image/tests/modules/image_test_views/test_views/views.view.test_image_user_image_data.yml
@@ -0,0 +1,79 @@
+langcode: und
+status: true
+dependencies:
+  module:
+    - file
+    - user
+id: test_image_user_image_data
+label: test_image_user_image_data
+module: views
+description: ''
+tag: ''
+base_table: users
+base_field: uid
+core: 8.x
+display:
+  default:
+    display_plugin: default
+    id: default
+    display_title: Master
+    position: 0
+    display_options:
+      access:
+        type: perm
+        options:
+          perm: 'access user profiles'
+      cache:
+        type: none
+      style:
+        type: table
+        options:
+          grouping: {  }
+          row_class: ''
+          default_row_class: true
+          override: true
+          sticky: false
+          caption: ''
+          summary: ''
+          description: ''
+          columns:
+            name: name
+            fid: fid
+          info:
+            name:
+              sortable: false
+              default_sort_order: asc
+              align: ''
+              separator: ''
+              empty_column: false
+              responsive: ''
+            fid:
+              sortable: false
+              default_sort_order: asc
+              align: ''
+              separator: ''
+              empty_column: false
+              responsive: ''
+          default: '-1'
+          empty_table: false
+      row:
+        type: fields
+        options:
+          inline: {  }
+          separator: ''
+          hide_empty: false
+          default_field_elements: true
+      relationships:
+        user_picture_target_id:
+          id: user_picture_target_id
+          table: user__user_picture
+          field: user_picture_target_id
+          relationship: none
+          group_type: group
+          admin_label: 'image from user_picture'
+          required: true
+          plugin_id: standard
+      arguments: {  }
+      display_extenders: {  }
+      field_langcode: '***LANGUAGE_language_content***'
+      field_langcode_add_to_query: null
