diff --git a/core/modules/field/src/FieldUninstallValidator.php b/core/modules/field/src/FieldUninstallValidator.php
index b4666f3..0d8b0cf 100644
--- a/core/modules/field/src/FieldUninstallValidator.php
+++ b/core/modules/field/src/FieldUninstallValidator.php
@@ -53,11 +53,21 @@ public function validate($module) {
     if ($field_storages = $this->getFieldStoragesByModule($module)) {
       // Provide an explanation message (only mention pending deletions if there
       // remain no actual, non-deleted fields.)
+      $hasDeleted = FALSE;
       $fields_in_use = [];
       foreach ($field_storages as $field_storage) {
-        if (!$field_storage->isDeleted()) {
-          $fields_in_use[$field_storage->getType()][] = $field_storage->getLabel();
+        if ($field_storage->isDeleted()) {
+          $hasDeleted = TRUE;
+          continue;
         }
+        // Check if the field storage has a dependency enforcement by the module
+        // and therefore should be deleted
+        $dependencies = $field_storage->get('dependencies');
+        if (isset($dependencies['enforced']['module']) && in_array($module, $dependencies['enforced']['module'])) {
+          continue;
+        }
+
+        $fields_in_use[$field_storage->getType()][] = $field_storage->getLabel();
       }
       if (!empty($fields_in_use)) {
         foreach ($fields_in_use as $field_type => $field_storages) {
@@ -65,7 +75,7 @@ public function validate($module) {
           $reasons[] = $this->formatPlural(count($fields_in_use[$field_type]), 'The %field_type_label field type is used in the following field: @fields', 'The %field_type_label field type is used in the following fields: @fields', ['%field_type_label' => $field_type_label, '@fields' => implode(', ', $field_storages)]);
         }
       }
-      else {
+      else if ($hasDeleted) {
         $reasons[] = $this->t('Fields pending deletion');
       }
     }
