diff --git a/core/modules/views/src/Entity/View.php b/core/modules/views/src/Entity/View.php index 3a21a1379b4d5cdae2207f8af54134661fb31e65..34b4ab093d3b80272b176cc97afeebdfc5e1e326 100644 --- a/core/modules/views/src/Entity/View.php +++ b/core/modules/views/src/Entity/View.php @@ -432,7 +432,11 @@ public function mergeDefaultDisplaysOptions() { * {@inheritdoc} */ public function isInstallable() { - return (bool) \Drupal::service('views.views_data')->get($this->base_table); + $table_definition = \Drupal::service('views.views_data')->get($this->base_table); + // Check whether the base table definition exists and contains a base table + // definition. For example, taxonomy_views_data_alter() defines + // node_field_data even if it doesn't exist as a base table. + return $table_definition && isset($table_definition['table']['base']); } /**