diff --git a/core/modules/block/src/Tests/BlockTest.php b/core/modules/block/src/Tests/BlockTest.php
index 5910d4789a..f10cbf8eed 100644
--- a/core/modules/block/src/Tests/BlockTest.php
+++ b/core/modules/block/src/Tests/BlockTest.php
@@ -379,7 +379,7 @@ public function testBlockCacheTags() {
     $this->assertEqual($this->drupalGetHeader('X-Drupal-Cache'), 'HIT');
     $cid_parts = [\Drupal::url('<front>', [], ['absolute' => TRUE]), 'html'];
     $cid = implode(':', $cid_parts);
-    $cache_entry = \Drupal::cache('render')->get($cid);
+    $cache_entry = \Drupal::cache('page_cache')->get($cid);
     $expected_cache_tags = [
       'config:block_list',
       'block_view',
@@ -420,7 +420,7 @@ public function testBlockCacheTags() {
     $this->assertEqual($this->drupalGetHeader('X-Drupal-Cache'), 'HIT');
     $cid_parts = [\Drupal::url('<front>', [], ['absolute' => TRUE]), 'html'];
     $cid = implode(':', $cid_parts);
-    $cache_entry = \Drupal::cache('render')->get($cid);
+    $cache_entry = \Drupal::cache('page_cache')->get($cid);
     $expected_cache_tags = [
       'config:block_list',
       'block_view',
diff --git a/core/modules/page_cache/page_cache.services.yml b/core/modules/page_cache/page_cache.services.yml
index 6563a01982..17d426625e 100644
--- a/core/modules/page_cache/page_cache.services.yml
+++ b/core/modules/page_cache/page_cache.services.yml
@@ -1,6 +1,13 @@
 services:
   http_middleware.page_cache:
     class: Drupal\page_cache\StackMiddleware\PageCache
-    arguments: ['@cache.render', '@page_cache_request_policy', '@page_cache_response_policy']
+    arguments: ['@cache.page_cache', '@page_cache_request_policy', '@page_cache_response_policy']
     tags:
       - { name: http_middleware, priority: 200, responder: true }
+
+  cache.page_cache:
+    class: Drupal\Core\Cache\CacheBackendInterface
+    tags:
+      - { name: cache.bin }
+    factory: cache_factory:get
+    arguments: [page_cache]
diff --git a/core/modules/page_cache/src/Tests/PageCacheTest.php b/core/modules/page_cache/src/Tests/PageCacheTest.php
index 3ef1f58772..e0b9b3223d 100644
--- a/core/modules/page_cache/src/Tests/PageCacheTest.php
+++ b/core/modules/page_cache/src/Tests/PageCacheTest.php
@@ -59,7 +59,7 @@ public function testPageCacheTags() {
     $this->assertEqual($this->drupalGetHeader('X-Drupal-Cache'), 'HIT');
     $cid_parts = [\Drupal::url('system_test.cache_tags_page', [], ['absolute' => TRUE]), 'html'];
     $cid = implode(':', $cid_parts);
-    $cache_entry = \Drupal::cache('render')->get($cid);
+    $cache_entry = \Drupal::cache('page_cache')->get($cid);
     sort($cache_entry->tags);
     $expected_tags = [
       'config:user.role.anonymous',
@@ -91,7 +91,7 @@ public function testPageCacheTagsIndependentFromCacheabilityHeaders() {
     $this->assertEqual($this->drupalGetHeader('X-Drupal-Cache'), 'HIT');
     $cid_parts = [\Drupal::url('system_test.cache_tags_page', [], ['absolute' => TRUE]), 'html'];
     $cid = implode(':', $cid_parts);
-    $cache_entry = \Drupal::cache('render')->get($cid);
+    $cache_entry = \Drupal::cache('page_cache')->get($cid);
     sort($cache_entry->tags);
     $expected_tags = [
       'config:user.role.anonymous',
@@ -156,7 +156,7 @@ public function testQueryParameterFormatRequests() {
 
     // Clear the page cache. After that request a HAL request, followed by an
     // ordinary HTML one.
-    \Drupal::cache('render')->deleteAll();
+    \Drupal::cache('page_cache')->deleteAll();
     $this->drupalGet($node_url_with_hal_json_format);
     $this->assertEqual($this->drupalGetHeader('X-Drupal-Cache'), 'MISS');
     $this->assertEqual($this->drupalGetHeader('Content-Type'), 'application/hal+json');
@@ -375,7 +375,7 @@ public function testPageCacheAnonymous403404() {
       $this->assertEqual($this->drupalGetHeader('X-Drupal-Cache'), 'MISS');
 
       // Ensure the 'expire' field on the cache entry uses cache_ttl_4xx.
-      $cache_item = \Drupal::service('cache.render')->get($this->getUrl() . ':html');
+      $cache_item = \Drupal::service('cache.page_cache')->get($this->getUrl() . ':html');
       $difference = $cache_item->expire - (int) $cache_item->created;
       // Given that a second might have passed we cannot be sure that
       // $difference will exactly equal the default cache_ttl_4xx setting.
@@ -394,7 +394,7 @@ public function testPageCacheAnonymous403404() {
       'required' => TRUE,
     ];
     $this->writeSettings($settings);
-    \Drupal::service('cache.render')->deleteAll();
+    \Drupal::service('cache.page_cache')->deleteAll();
 
     foreach ($tests as $code => $content_url) {
       // Getting the 404 page twice should still result in a cache miss.
diff --git a/core/modules/system/src/Form/PerformanceForm.php b/core/modules/system/src/Form/PerformanceForm.php
index a2e85927d5..df185df9d0 100644
--- a/core/modules/system/src/Form/PerformanceForm.php
+++ b/core/modules/system/src/Form/PerformanceForm.php
@@ -23,6 +23,13 @@ class PerformanceForm extends ConfigFormBase {
   protected $renderCache;
 
   /**
+   * The internal page cache bin.
+   *
+   * @var \Drupal\Core\Cache\CacheBackendInterface|null
+   */
+  protected $internalPageCache;
+
+  /**
    * The date formatter service.
    *
    * @var \Drupal\Core\Datetime\DateFormatterInterface
@@ -55,11 +62,20 @@ class PerformanceForm extends ConfigFormBase {
    *   The CSS asset collection optimizer service.
    * @param \Drupal\Core\Asset\AssetCollectionOptimizerInterface $js_collection_optimizer
    *   The JavaScript asset collection optimizer service.
+   * @param \Drupal\Core\Cache\CacheBackendInterface $internal_page_cache
    */
-  public function __construct(ConfigFactoryInterface $config_factory, CacheBackendInterface $render_cache, DateFormatterInterface $date_formatter, AssetCollectionOptimizerInterface $css_collection_optimizer, AssetCollectionOptimizerInterface $js_collection_optimizer) {
+  public function __construct(
+    ConfigFactoryInterface $config_factory,
+    CacheBackendInterface $render_cache,
+    DateFormatterInterface $date_formatter,
+    AssetCollectionOptimizerInterface $css_collection_optimizer,
+    AssetCollectionOptimizerInterface $js_collection_optimizer,
+    CacheBackendInterface $internal_page_cache = NULL
+  ) {
     parent::__construct($config_factory);
 
     $this->renderCache = $render_cache;
+    $this->internalPageCache = $internal_page_cache;
     $this->dateFormatter = $date_formatter;
     $this->cssCollectionOptimizer = $css_collection_optimizer;
     $this->jsCollectionOptimizer = $js_collection_optimizer;
@@ -74,7 +90,8 @@ public static function create(ContainerInterface $container) {
       $container->get('cache.render'),
       $container->get('date.formatter'),
       $container->get('asset.css.collection_optimizer'),
-      $container->get('asset.js.collection_optimizer')
+      $container->get('asset.js.collection_optimizer'),
+      $container->get('cache.page_cache', FALSE)
     );
   }
 
@@ -172,6 +189,9 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
     // invalidate cached pages in the render cache, so it needs to be cleared on
     // form submit.
     $this->renderCache->deleteAll();
+    if ($this->internalPageCache instanceof CacheBackendInterface) {
+      $this->internalPageCache->deleteAll();
+    }
 
     $this->config('system.performance')
       ->set('cache.page.max_age', $form_state->getValue('page_cache_maximum_age'))
diff --git a/core/modules/system/src/Tests/Cache/AssertPageCacheContextsAndTagsTrait.php b/core/modules/system/src/Tests/Cache/AssertPageCacheContextsAndTagsTrait.php
index 6bea791e91..516992b036 100644
--- a/core/modules/system/src/Tests/Cache/AssertPageCacheContextsAndTagsTrait.php
+++ b/core/modules/system/src/Tests/Cache/AssertPageCacheContextsAndTagsTrait.php
@@ -91,7 +91,7 @@ protected function assertPageCacheContextsAndTags(Url $url, array $expected_cont
     // Assert page cache item + expected cache tags.
     $cid_parts = [$url->setAbsolute()->toString(), 'html'];
     $cid = implode(':', $cid_parts);
-    $cache_entry = \Drupal::cache('render')->get($cid);
+    $cache_entry = \Drupal::cache('page_cache')->get($cid);
     sort($cache_entry->tags);
     $this->assertEqual($cache_entry->tags, $expected_tags);
     $this->debugCacheTags($cache_entry->tags, $expected_tags);
diff --git a/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php b/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php
index 582a2f4f06..b9b656d56b 100644
--- a/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php
+++ b/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php
@@ -54,7 +54,7 @@ protected function verifyPageCache(Url $url, $hit_or_miss, $tags = FALSE) {
       $absolute_url = $url->setAbsolute()->toString();
       $cid_parts = [$absolute_url, 'html'];
       $cid = implode(':', $cid_parts);
-      $cache_entry = \Drupal::cache('render')->get($cid);
+      $cache_entry = \Drupal::cache('page_cache')->get($cid);
       sort($cache_entry->tags);
       $tags = array_unique($tags);
       sort($tags);
diff --git a/core/modules/system/tests/src/Functional/Cache/PageCacheTagsTestBase.php b/core/modules/system/tests/src/Functional/Cache/PageCacheTagsTestBase.php
index 39a514fa3b..c7572291f7 100644
--- a/core/modules/system/tests/src/Functional/Cache/PageCacheTagsTestBase.php
+++ b/core/modules/system/tests/src/Functional/Cache/PageCacheTagsTestBase.php
@@ -51,7 +51,7 @@ protected function verifyPageCache(Url $url, $hit_or_miss, $tags = FALSE) {
       $absolute_url = $url->setAbsolute()->toString();
       $cid_parts = [$absolute_url, 'html'];
       $cid = implode(':', $cid_parts);
-      $cache_entry = \Drupal::cache('render')->get($cid);
+      $cache_entry = \Drupal::cache('page_cache')->get($cid);
       sort($cache_entry->tags);
       $tags = array_unique($tags);
       sort($tags);
