diff --git a/core/lib/Drupal/Core/Config/ConfigManager.php b/core/lib/Drupal/Core/Config/ConfigManager.php
index 31993aa..c70dd4c 100644
--- a/core/lib/Drupal/Core/Config/ConfigManager.php
+++ b/core/lib/Drupal/Core/Config/ConfigManager.php
@@ -228,16 +228,20 @@ public function uninstall($type, $name) {
    */
   public function getConfigDependencyManager() {
     $dependency_manager = new ConfigDependencyManager();
-    // This uses the configuration storage directly to avoid blowing the static
-    // caches in the configuration factory and the configuration entity system.
-    // Additionally this ensures that configuration entity dependency discovery
-    // has no dependencies on the config entity classes. Assume data with UUID
-    // is a config entity. Only configuration entities can be depended on so we
-    // can ignore everything else.
-    $data = array_filter($this->activeStorage->readMultiple($this->activeStorage->listAll()), function($config) {
-      return isset($config['uuid']);
-    });
-    $dependency_manager->setData($data);
+    // Read all configuration using the factory. This ensures that multiple
+    // deletes during the same request benefit from the static cache. Using the
+    // factory also ensures configuration entity dependency discovery has no
+    // dependencies on the config entity classes. Assume data with UUID is a
+    // config entity. Only configuration entities can be depended on so we can
+    // ignore everything else.
+    $data = array_map(function($config) {
+      $data = $config->get();
+      if (isset($data['uuid'])) {
+        return $data;
+      }
+      return FALSE;
+    }, $this->configFactory->loadMultiple($this->activeStorage->listAll()));
+    $dependency_manager->setData(array_filter($data));
     return $dependency_manager;
   }
 
diff --git a/core/modules/field/src/Entity/FieldConfig.php b/core/modules/field/src/Entity/FieldConfig.php
index 500fa42..2755f7d 100644
--- a/core/modules/field/src/Entity/FieldConfig.php
+++ b/core/modules/field/src/Entity/FieldConfig.php
@@ -215,9 +215,6 @@ public static function preDelete(EntityStorageInterface $storage, array $fields)
    * {@inheritdoc}
    */
   public static function postDelete(EntityStorageInterface $storage, array $fields) {
-    // Clear the cache upfront, to refresh the results of getBundles().
-    \Drupal::entityManager()->clearCachedFieldDefinitions();
-
     // Notify the entity storage.
     foreach ($fields as $field) {
       if (!$field->deleted) {
