diff --git a/core/modules/entity_reference/entity_reference.views.inc b/core/modules/entity_reference/entity_reference.views.inc
index 486fca1..3a9ddf2 100644
--- a/core/modules/entity_reference/entity_reference.views.inc
+++ b/core/modules/entity_reference/entity_reference.views.inc
@@ -18,7 +18,7 @@ function entity_reference_field_views_data(FieldStorageConfigInterface $field_st
     // Add a relationship to the target entity type.
     $target_entity_type_id = $field_storage->getSetting('target_type');
     $target_entity_type = $entity_manager->getDefinition($target_entity_type_id);
-    $target_base_table = $target_entity_type->getBaseTable();
+    $target_base_table = $target_entity_type->getDataTable() ?: $target_entity_type->getBaseTable();
 
     // Provide a relationship for the entity type with the entity reference
     // field.
@@ -39,6 +39,8 @@ function entity_reference_field_views_data(FieldStorageConfigInterface $field_st
     // Provide a reverse relationship for the entity type that is referenced by
     // the field.
     $entity_type_id = $field_storage->getTargetEntityTypeId();
+    $entity_type = $entity_manager->getDefinition($entity_type_id);
+    $args['@label'] = $entity_type->getLabel();
     $pseudo_field_name = 'reverse__' . $entity_type_id . '__' . $field_storage->getName();
     /** @var \Drupal\Core\Entity\Sql\DefaultTableMapping $table_mapping */
     $table_mapping = \Drupal::entityManager()->getStorage($entity_type_id)->getTableMapping();
@@ -49,8 +51,8 @@ function entity_reference_field_views_data(FieldStorageConfigInterface $field_st
       'field_name' => $field_storage->getName(),
       'field table' => $table_mapping->getDedicatedDataTableName($field_storage),
       'field field' => $field_storage->getName() . '_target_id',
-      'base' => $target_entity_type->getBaseTable(),
-      'base field' => $target_entity_type->getKey('id'),
+      'base' => $entity_type->getDataTable() ?: $entity_type->getBaseTable(),
+      'base field' => $entity_type->getKey('id'),
       'label' => t('@field_name', array('@field_name' => $field_storage->getName())),
     );
   }
diff --git a/core/modules/taxonomy/taxonomy.views.inc b/core/modules/taxonomy/taxonomy.views.inc
index 3160ea1..447766f 100644
--- a/core/modules/taxonomy/taxonomy.views.inc
+++ b/core/modules/taxonomy/taxonomy.views.inc
@@ -74,7 +74,7 @@ function taxonomy_field_views_data(FieldStorageConfigInterface $field_storage) {
     $field_name = $field_storage->getName();
     $data[$table_name][$field_name . '_target_id']['relationship'] = array(
       'id' => 'standard',
-      'base' => 'taxonomy_term_data',
+      'base' => 'taxonomy_term_field_data',
       'base field' => 'tid',
       'label' => t('term from !field_name', array('!field_name' => $field_name)),
     );
@@ -100,7 +100,7 @@ function taxonomy_field_views_data_views_data_alter(array &$data, FieldStorageCo
 
   list($label) = views_entity_field_label($entity_type_id, $field_name);
 
-  $data['taxonomy_term_data'][$pseudo_field_name]['relationship'] = array(
+  $data['taxonomy_term_field_data'][$pseudo_field_name]['relationship'] = array(
     'title' => t('@entity using @field', array('@entity' => $entity_type->getLabel(), '@field' => $label)),
     'help' => t('Relate each @entity with a @field set to the term.', array('@entity' => $entity_type->getLabel(), '@field' => $label)),
     'id' => 'entity_reverse',
@@ -108,7 +108,7 @@ function taxonomy_field_views_data_views_data_alter(array &$data, FieldStorageCo
     'entity_type' => $entity_type_id,
     'field table' => $table_mapping->getDedicatedDataTableName($field_storage),
     'field field' => $field_name . '_target_id',
-    'base' => $entity_type->getBaseTable(),
+    'base' => $entity_type->getDataTable() ?: $entity_type->getBaseTable(),
     'base field' => $entity_type->getKey('id'),
     'label' => t('!field_name', array('!field_name' => $field_name)),
     'join_extra' => array(
