diff --git a/core/modules/views/src/Plugin/Derivative/ViewsEntityRow.php b/core/modules/views/src/Plugin/Derivative/ViewsEntityRow.php
index 9f7ab13..5f82d91 100644
--- a/core/modules/views/src/Plugin/Derivative/ViewsEntityRow.php
+++ b/core/modules/views/src/Plugin/Derivative/ViewsEntityRow.php
@@ -99,7 +99,7 @@ public function getDerivativeDefinitions($base_plugin_definition) {
           'provider' => 'views',
           'title' => $entity_type->getLabel(),
           'help' => t('Display the @label', array('@label' => $entity_type->getLabel())),
-          'base' => array($base_table),
+          'base' => array($entity_type->getDataTable() ?: $entity_type->getBaseTable()),
           'entity_type' => $entity_type_id,
           'display_types' => array('normal'),
           'class' => $base_plugin_definition['class'],
diff --git a/core/modules/views_ui/src/Tests/RowUITest.php b/core/modules/views_ui/src/Tests/RowUITest.php
index eceb3bf..6056b58 100644
--- a/core/modules/views_ui/src/Tests/RowUITest.php
+++ b/core/modules/views_ui/src/Tests/RowUITest.php
@@ -76,6 +76,17 @@ public function testRowUI() {
     $this->drupalGet($row_plugin_url);
     $this->assertResponse(200);
     $this->assertFieldByName('row[type]', 'fields', 'Make sure that the fields got saved as used row plugin.');
+
+    // Ensure that entity row plugins appear.
+    $view_name = 'content';
+    $row_plugin_url = "admin/structure/views/nojs/display/$view_name/default/row";
+    $row_options_url = "admin/structure/views/nojs/display/$view_name/default/row_options";
+
+    $this->drupalGet($row_plugin_url);
+    $this->assertFieldByName('row[type]', 'entity:node');
+    $this->drupalPostForm(NULL, ['row[type]' => 'entity:node'], t('Apply'));
+    $this->assertUrl($row_options_url);
+    $this->assertFieldByName('row_options[view_mode]', 'teaser');
   }
 
 }
