diff --git a/core/modules/config/src/Tests/ConfigImportUITest.php b/core/modules/config/src/Tests/ConfigImportUITest.php
index 959b2f189951b5f12732b75bdb0f6ff51c9ea4b0..d4c4c9d3a7c2abc3eca48f8e4d9b4e603b7729b9 100644
--- a/core/modules/config/src/Tests/ConfigImportUITest.php
+++ b/core/modules/config/src/Tests/ConfigImportUITest.php
@@ -72,6 +72,8 @@ function testImport() {
     $core_extension['module']['action'] = 0;
     $core_extension['module']['ban'] = 0;
     $core_extension['module'] = module_config_sort($core_extension['module']);
+    // Bartik is a subtheme of classy so classy must be enabled.
+    $core_extension['theme']['classy'] = 0;
     $core_extension['theme']['bartik'] = 0;
     $staging->write('core.extension', $core_extension);
 
diff --git a/core/modules/system/src/Tests/System/ThemeTest.php b/core/modules/system/src/Tests/System/ThemeTest.php
index 80a3c43bf265d76c06f723fb1f8dd0ae982f1f5f..e1b091db6685d03f4e2b4fcd089f25b157d0e0df 100644
--- a/core/modules/system/src/Tests/System/ThemeTest.php
+++ b/core/modules/system/src/Tests/System/ThemeTest.php
@@ -251,7 +251,8 @@ function testSwitchDefaultTheme() {
     $this->assertText('Bartik(' . t('active tab') . ')', 'Default local task on blocks admin page is the default theme.');
     // Switch back to Stark and test again to test that the menu cache is cleared.
     $this->drupalGet('admin/appearance');
-    $this->clickLink(t('Set as default'), 0);
+    // Stark is the second 'Set as default' link.
+    $this->clickLink(t('Set as default'), 1);
     $this->drupalGet('admin/structure/block');
     $this->assertText('Stark(' . t('active tab') . ')', 'Default local task on blocks admin page has changed.');
   }
diff --git a/core/themes/bartik/bartik.info.yml b/core/themes/bartik/bartik.info.yml
index 48e1715e6f4b9c772cc0ff0c81eb1f5c2317a4f1..22e62b47d834658cc2df6b4da6f2b62ecb055c29 100644
--- a/core/themes/bartik/bartik.info.yml
+++ b/core/themes/bartik/bartik.info.yml
@@ -1,5 +1,6 @@
 name: Bartik
 type: theme
+base theme: classy
 description: 'A flexible, recolorable theme with many regions and a responsive, mobile-first layout.'
 package: Core
 version: VERSION
diff --git a/core/themes/classy/classy.info.yml b/core/themes/classy/classy.info.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d557b48c50002032645d3cc4e2b69d08803fc524
--- /dev/null
+++ b/core/themes/classy/classy.info.yml
@@ -0,0 +1,6 @@
+name: Classy
+type: theme
+description: 'A base theme with sensible default CSS classes added. Learn how to use Classy as a base theme in the <a href="https://www.drupal.org/theme-guide/8">Drupal 8 Theming Guide</a>.'
+package: Core
+version: VERSION
+core: 8.x
diff --git a/core/themes/seven/seven.info.yml b/core/themes/seven/seven.info.yml
index a382df49e0c21a9a7348df7866c1ea7ccecd72a0..2357e5e93661fcf0bc3df8f56b3d0816dd11eb7f 100644
--- a/core/themes/seven/seven.info.yml
+++ b/core/themes/seven/seven.info.yml
@@ -1,5 +1,6 @@
 name: Seven
 type: theme
+base theme: classy
 description: 'The default administration theme for Drupal 8 was designed with clean lines, simple blocks, and sans-serif font to emphasize the tools and tasks at hand.'
 alt text: 'Default administration theme for Drupal 8 with simple blocks and clean lines.'
 tags: 'multi-column, fluid, responsive, sans-serif, accessible'