diff --git a/core/themes/classy/classy.info.yml b/core/themes/classy/classy.info.yml
index bd61ce093a110ac472a7cd9166aa97c2d3c92f95..7e74173bbc8415518e3207e3819b580ce731bfb9 100644
--- a/core/themes/classy/classy.info.yml
+++ b/core/themes/classy/classy.info.yml
@@ -8,3 +8,11 @@ core: 8.x
 libraries:
   - classy/base
   - core/normalize
+
+libraries-extend:
+  user/drupal.user:
+    - classy/user
+  core/drupal.dropbutton:
+    - classy/dropbutton
+  core/drupal.dialog:
+    - classy/dialog
diff --git a/core/themes/classy/classy.theme b/core/themes/classy/classy.theme
deleted file mode 100644
index bc2cede4bd9b1bb375aefb87041e91944f14b19f..0000000000000000000000000000000000000000
--- a/core/themes/classy/classy.theme
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/**
- * @file
- * Functions to support theming in the Classy theme.
- */
-
-/**
- * Implements hook_library_info_alter().
- */
-function classy_library_info_alter(&$libraries, $extension) {
-  if ($extension == 'user' && isset($libraries['drupal.user'])) {
-    // @todo Replace with https://www.drupal.org/node/2497667 when possible.
-    $library_discovery = \Drupal::service('library.discovery');
-    $library = $library_discovery->getLibraryByName('classy', 'user');
-    foreach ($library['css'] as $css) {
-      $libraries['drupal.user']['css']['component'][base_path() . $css['data']] = [];
-    }
-  }
-  if ($extension == 'core' && isset($libraries['drupal.dropbutton'])) {
-    $libraries['drupal.dropbutton']['dependencies'][] = 'classy/dropbutton';
-  }
-  if ($extension == 'core' && isset($libraries['drupal.dialog'])) {
-    $libraries['drupal.dialog']['dependencies'][] = 'classy/dialog';
-  }
-}
diff --git a/core/themes/seven/seven.info.yml b/core/themes/seven/seven.info.yml
index b983303a7d2c6b04846e714abff23850e02deb73..699c96350e873a8c1d553d42085dfe5c0e75b299 100644
--- a/core/themes/seven/seven.info.yml
+++ b/core/themes/seven/seven.info.yml
@@ -9,10 +9,25 @@ core: 8.x
 libraries:
  - seven/global-styling
 libraries-override:
+  core/drupal.vertical-tabs:
+    css:
+      component:
+        misc/vertical-tabs.css: false
+  core/jquery.ui:
+    css:
+      theme:
+        assets/vendor/jquery.ui/themes/base/theme.css: false
   core/jquery.ui.dialog:
     css:
       component:
         assets/vendor/jquery.ui/themes/base/dialog.css: false
+  classy/dialog:
+    seven/seven.drupal.dialog
+libraries-extend:
+  core/drupal.vertical-tabs:
+    - seven/vertical-tabs
+  core/jquery.ui:
+    - seven/seven.jquery.ui
 quickedit_stylesheets:
   - css/components/quickedit.css
 regions:
diff --git a/core/themes/seven/seven.theme b/core/themes/seven/seven.theme
index 4f7946cb5e40a23abeb4854ebd45d2b07cccee4d..29aaf620328cd3caf36b7af049c525b39ebf290b 100644
--- a/core/themes/seven/seven.theme
+++ b/core/themes/seven/seven.theme
@@ -187,21 +187,3 @@ function seven_form_node_form_alter(&$form, FormStateInterface $form_state) {
   $form['revision_information']['#type'] = 'container';
   $form['revision_information']['#group'] = 'meta';
 }
-
-/**
- * Implements hook_library_info_alter().
- */
-function seven_library_info_alter(&$libraries, $extension) {
-  if ($extension == 'core' && isset($libraries['drupal.vertical-tabs'])) {
-    unset($libraries['drupal.vertical-tabs']['css']['component']['misc/vertical-tabs.css']);
-    $libraries['drupal.vertical-tabs']['dependencies'][] = 'seven/vertical-tabs';
-  }
-  if ($extension == 'core' && isset($libraries['jquery.ui'])) {
-    unset($libraries['jquery.ui']['css']['theme']['assets/vendor/jquery.ui/themes/base/theme.css']);
-    $libraries['jquery.ui']['dependencies'][] = 'seven/seven.jquery.ui';
-  }
-  if ($extension == 'classy' && isset($libraries['dialog'])) {
-    unset($libraries['dialog']['css']['component']['css/components/dialog.css']);
-    $libraries['dialog']['dependencies'][] = 'seven/seven.drupal.dialog';
-  }
-}