diff --git a/core/modules/block/block.install b/core/modules/block/block.install
index 106815c..ead2b52 100644
--- a/core/modules/block/block.install
+++ b/core/modules/block/block.install
@@ -8,16 +8,6 @@
 use Drupal\Core\Cache\Cache;
 
 /**
- * Implements hook_install().
- */
-function block_install() {
-  // Because the Block module upon installation unconditionally overrides all
-  // HTML output by selecting a different page display variant, we must
-  // invalidate all cached HTML output.
-  Cache::invalidateTags(['rendered']);
-}
-
-/**
  * @addtogroup updates-8.0.0-beta
  * @{
  */
diff --git a/core/modules/system/src/Form/ModulesListConfirmForm.php b/core/modules/system/src/Form/ModulesListConfirmForm.php
index dea5207..a0ffcb9 100644
--- a/core/modules/system/src/Form/ModulesListConfirmForm.php
+++ b/core/modules/system/src/Form/ModulesListConfirmForm.php
@@ -9,6 +9,7 @@
 
 use Drupal\Core\Config\PreExistingConfigException;
 use Drupal\Core\Config\UnmetDependenciesException;
+use Drupal\Core\Cache\CacheBackendInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Extension\ModuleInstallerInterface;
 use Drupal\Core\Form\ConfirmFormBase;
@@ -51,6 +52,13 @@ class ModulesListConfirmForm extends ConfirmFormBase {
   protected $moduleInstaller;
 
   /**
+   * The render cache bin.
+   *
+   * @var \Drupal\Core\Cache\CacheBackendInterface
+   */
+  protected $renderCache;
+
+  /**
    * Constructs a ModulesListConfirmForm object.
    *
    * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
@@ -59,11 +67,14 @@ class ModulesListConfirmForm extends ConfirmFormBase {
    *   The module installer.
    * @param \Drupal\Core\KeyValueStore\KeyValueStoreExpirableInterface $key_value_expirable
    *   The key value expirable factory.
+   * @param \Drupal\Core\Cache\CacheBackendInterface $render_cache
+   *   The render cache service.
    */
-  public function __construct(ModuleHandlerInterface $module_handler, ModuleInstallerInterface $module_installer, KeyValueStoreExpirableInterface $key_value_expirable) {
+  public function __construct(ModuleHandlerInterface $module_handler, ModuleInstallerInterface $module_installer, KeyValueStoreExpirableInterface $key_value_expirable, CacheBackendInterface $render_cache) {
     $this->moduleHandler = $module_handler;
     $this->moduleInstaller = $module_installer;
     $this->keyValueExpirable = $key_value_expirable;
+    $this->renderCache = $render_cache;
   }
 
   /**
@@ -73,7 +84,8 @@ public static function create(ContainerInterface $container) {
     return new static(
       $container->get('module_handler'),
       $container->get('module_installer'),
-      $container->get('keyvalue.expirable')->get('module_list')
+      $container->get('keyvalue.expirable')->get('module_list'),
+      $container->get('cache.render')
     );
   }
 
@@ -187,6 +199,9 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
         '%name' => $module_names[0],
         '%names' => implode(', ', $module_names),
       )));
+
+      // Invalidate the render cache.
+      $this->renderCache->deleteAll();
     }
 
     $form_state->setRedirectUrl($this->getCancelUrl());
diff --git a/core/modules/system/src/Form/ModulesListForm.php b/core/modules/system/src/Form/ModulesListForm.php
index 37af3e8..f581e69 100644
--- a/core/modules/system/src/Form/ModulesListForm.php
+++ b/core/modules/system/src/Form/ModulesListForm.php
@@ -12,6 +12,7 @@
 use Drupal\Core\Config\UnmetDependenciesException;
 use Drupal\Core\Controller\TitleResolverInterface;
 use Drupal\Core\Access\AccessManagerInterface;
+use Drupal\Core\Cache\CacheBackendInterface;
 use Drupal\Core\Extension\Extension;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Extension\ModuleInstallerInterface;
@@ -115,7 +116,8 @@ public static function create(ContainerInterface $container) {
       $container->get('title_resolver'),
       $container->get('router.route_provider'),
       $container->get('plugin.manager.menu.link'),
-      $container->get('user.permissions')
+      $container->get('user.permissions'),
+      $container->get('cache.render')
     );
   }
 
@@ -142,8 +144,10 @@ public static function create(ContainerInterface $container) {
    *   The menu link manager.
    * @param \Drupal\user\PermissionHandlerInterface $permission_handler
    *   The permission handler.
+   * @param \Drupal\Core\Cache\CacheBackendInterface $render_cache
+   *   The render cache service.
    */
-  public function __construct(ModuleHandlerInterface $module_handler, ModuleInstallerInterface $module_installer, KeyValueStoreExpirableInterface $key_value_expirable, AccessManagerInterface $access_manager, AccountInterface $current_user, RouteMatchInterface $route_match, TitleResolverInterface $title_resolver, RouteProviderInterface $route_provider, MenuLinkManagerInterface $menu_link_manager, PermissionHandlerInterface $permission_handler) {
+  public function __construct(ModuleHandlerInterface $module_handler, ModuleInstallerInterface $module_installer, KeyValueStoreExpirableInterface $key_value_expirable, AccessManagerInterface $access_manager, AccountInterface $current_user, RouteMatchInterface $route_match, TitleResolverInterface $title_resolver, RouteProviderInterface $route_provider, MenuLinkManagerInterface $menu_link_manager, PermissionHandlerInterface $permission_handler, CacheBackendInterface $render_cache) {
     $this->moduleHandler = $module_handler;
     $this->moduleInstaller = $module_installer;
     $this->keyValueExpirable = $key_value_expirable;
@@ -154,6 +158,7 @@ public function __construct(ModuleHandlerInterface $module_handler, ModuleInstal
     $this->routeProvider = $route_provider;
     $this->menuLinkManager = $menu_link_manager;
     $this->permissionHandler = $permission_handler;
+    $this->renderCache = $render_cache;
   }
 
   /**
@@ -524,6 +529,9 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
           '%name' => $module_names[0],
           '%names' => implode(', ', $module_names),
         )));
+
+        // Invalidate the render cache.
+        $this->renderCache->deleteAll();
       }
       catch (PreExistingConfigException $e) {
         $config_objects = $e->flattenConfigObjects($e->getConfigObjects());
