diff --git a/core/modules/system/system.install b/core/modules/system/system.install
index c0e3fe6..645137a 100644
--- a/core/modules/system/system.install
+++ b/core/modules/system/system.install
@@ -2195,22 +2195,26 @@ function system_update_8045() {
 }
 
 /**
- * Enable Views if the node listing is set as the frontpage.
+ * Enable Views module.
  */
 function system_update_8046() {
-  $front_page = config('system.site')->get('page.front');
-  if (!isset($front_page) || $front_page == 'node') {
-    update_module_enable(array('views'));
-
-    // Register views to the container, so views can use it's services.
-    $module_list = drupal_container()->getParameter('container.modules');
-    drupal_load('module', 'views');
+  if (db_table_exists('cache_views_info')) {
+    db_drop_table('cache_views_info');
+  }
+  if (db_table_exists('cache_views_results')) {
+    db_drop_table('cache_views_results');
+  }
+  // Enable the module and install the initial schema.
+  update_module_enable(array('views'));
 
-    drupal_container()->get('kernel')->updateModules(array_keys($module_list), array('views' => 'core/modules/views/views.module'));
+  // Enable Views services.
+  $module_filenames = drupal_container()->getParameter('container.modules');
+  $module_filenames['views'] = 'core/modules/views/views.module';
+  drupal_container()->get('kernel')->updateModules($module_filenames, $module_filenames);
 
-    // This does not fire a hook just calls views.
-    config_install_default_config('module', 'views');
-  }
+  // Install default views.
+  // Note: This calls into APIs and invokes hooks.
+  config_install_default_config('module', 'views');
 }
 
 /**
diff --git a/core/modules/views/views.install b/core/modules/views/views.install
index 8bda10e..364257c 100644
--- a/core/modules/views/views.install
+++ b/core/modules/views/views.install
@@ -8,19 +8,14 @@
 use Drupal\Core\Database\Database;
 
 /**
- * Implements hook_install().
- */
-function views_install() {
-  module_set_weight('views', 10);
-}
-
-/**
  * Implements hook_schema().
  */
 function views_schema() {
-  $schema['cache_views_info'] = drupal_get_schema_unprocessed('system', 'cache');
+  $cache_schema = drupal_get_schema_unprocessed('system', 'cache');
+
+  $schema['cache_views_info'] = $cache_schema;
 
-  $schema['cache_views_results'] = drupal_get_schema_unprocessed('system', 'cache');
+  $schema['cache_views_results'] = $cache_schema;
   $schema['cache_views_results']['description'] = 'Cache table for views to store pre-rendered queries, results, and display output.';
   $schema['cache_views_results']['fields']['serialized']['default'] = 1;
 
@@ -30,13 +25,17 @@ function views_schema() {
 /**
  * Provide an initial schema.
  *
- * @see update_module_enable().
+ * @see update_module_enable()
  */
 function views_schema_0() {
   module_load_install('system');
-  // Add the cache_views_info and cache_views_results tables.
   $cache_schema = system_schema_cache_8007();
+
   $schema['cache_views_info'] = $cache_schema;
+
   $schema['cache_views_results'] = $cache_schema;
+  $schema['cache_views_results']['description'] = 'Cache table for views to store pre-rendered queries, results, and display output.';
+  $schema['cache_views_results']['fields']['serialized']['default'] = 1;
+
   return $schema;
 }
