diff --git a/core/lib/Drupal/Core/Asset/AssetResolver.php b/core/lib/Drupal/Core/Asset/AssetResolver.php
index 658ccf0a04243fa75fda489964dbb1bba671de68..4c6875b000ff6aa511cbd08fa9431ede3c0d7b11 100644
--- a/core/lib/Drupal/Core/Asset/AssetResolver.php
+++ b/core/lib/Drupal/Core/Asset/AssetResolver.php
@@ -143,10 +143,10 @@ public function getCssAssets(AttachedAssetsInterface $assets, $optimize, Languag
       'preprocess' => TRUE,
     ];
 
-    foreach ($libraries_to_load as $library) {
+    foreach ($libraries_to_load as $key => $library) {
       [$extension, $name] = explode('/', $library, 2);
       $definition = $this->libraryDiscovery->getLibraryByName($extension, $name);
-      if (isset($definition['css'])) {
+      if (!empty($definition['css'])) {
         foreach ($definition['css'] as $options) {
           $options += $default_options;
           // Copy the asset library license information to each file.
@@ -165,6 +165,9 @@ public function getCssAssets(AttachedAssetsInterface $assets, $optimize, Languag
           $css[$options['data']] = $options;
         }
       }
+      else {
+        unset($libraries_to_load[$key]);
+      }
     }
 
     // Allow modules and themes to alter the CSS assets.
@@ -176,7 +179,7 @@ public function getCssAssets(AttachedAssetsInterface $assets, $optimize, Languag
       uasort($css, [static::class, 'sort']);
 
       if ($optimize) {
-        $css = \Drupal::service('asset.css.collection_optimizer')->optimize($css, $libraries_to_load, $language);
+        $css = \Drupal::service('asset.css.collection_optimizer')->optimize($css, array_values($libraries_to_load), $language);
       }
     }
     $this->cache->set($cid, $css, CacheBackendInterface::CACHE_PERMANENT, ['library_info']);
@@ -253,6 +256,7 @@ public function getJsAssets(AttachedAssetsInterface $assets, $optimize, Language
           unset($libraries_to_load[$key]);
         }
       }
+      $libraries_to_load = array_values($libraries_to_load);
       // The current list of header JS libraries are only those libraries that
       // are in the header, but their dependencies must also be loaded for them
       // to function correctly, so update the list with those.