diff --git a/core/lib/Drupal/Core/Extension/ModuleInstaller.php b/core/lib/Drupal/Core/Extension/ModuleInstaller.php
index 41e698c..58e2b26 100644
--- a/core/lib/Drupal/Core/Extension/ModuleInstaller.php
+++ b/core/lib/Drupal/Core/Extension/ModuleInstaller.php
@@ -316,10 +316,10 @@ public function uninstall(array $module_list, $uninstall_dependents = TRUE) {
 
     // Use the validators and throw an exception with the reasons.
     if ($reasons = $this->validateUninstall($module_list)) {
-      foreach ($reasons as $reason) {
-        $reason_message[] = implode(', ', $reason);
+      foreach ($reasons as $module_key => $reason) {
+        $reason_message[] = $module_key . ': ' . implode(', ', $reason);
       }
-      throw new ModuleUninstallValidatorException('The following reasons prevents the modules from being uninstalled: ' . implode('; ', $reason_message));
+      throw new ModuleUninstallValidatorException('The following reasons prevent the modules from being uninstalled: ' . implode('; ', $reason_message));
     }
     // Set the actual module weights.
     $module_list = array_map(function ($module) use ($module_data) {
diff --git a/core/modules/field/src/FieldUninstallValidator.php b/core/modules/field/src/FieldUninstallValidator.php
index 3302b04..93993c6 100644
--- a/core/modules/field/src/FieldUninstallValidator.php
+++ b/core/modules/field/src/FieldUninstallValidator.php
@@ -47,15 +47,14 @@ 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.)
-      $non_deleted = FALSE;
+      $non_deleted = [];
       foreach ($field_storages as $field_storage) {
         if (!$field_storage->isDeleted()) {
-          $non_deleted = TRUE;
-          break;
+          $non_deleted[] .= $field_storage->getLabel();
         }
       }
       if ($non_deleted) {
-        $reasons[] = $this->t('Fields type(s) in use');
+        $reasons[] = $this->t("Module's field type(s) are in use: " . implode(', ', $non_deleted));
       }
       else {
         $reasons[] = $this->t('Fields pending deletion');
diff --git a/core/modules/field/src/Tests/reEnableModuleFieldTest.php b/core/modules/field/src/Tests/reEnableModuleFieldTest.php
index 3a72c67..9e24130 100644
--- a/core/modules/field/src/Tests/reEnableModuleFieldTest.php
+++ b/core/modules/field/src/Tests/reEnableModuleFieldTest.php
@@ -93,12 +93,12 @@ function testReEnabledField() {
     $admin_user = $this->drupalCreateUser(array('access administration pages', 'administer modules'));
     $this->drupalLogin($admin_user);
     $this->drupalGet('admin/modules/uninstall');
-    $this->assertText('Fields type(s) in use');
+    $this->assertText("Module's field type(s) are in use: node.body");
     $field_storage->delete();
     $this->drupalGet('admin/modules/uninstall');
     $this->assertText('Fields pending deletion');
     $this->cronRun();
-    $this->assertNoText('Fields type(s) in use');
+    $this->assertNoText("Module's field type(s) are in use: node.body");
     $this->assertNoText('Fields pending deletion');
 
   }
diff --git a/core/modules/field/tests/src/Unit/FieldUninstallValidatorTest.php b/core/modules/field/tests/src/Unit/FieldUninstallValidatorTest.php
index ea9e0c8..7163567 100644
--- a/core/modules/field/tests/src/Unit/FieldUninstallValidatorTest.php
+++ b/core/modules/field/tests/src/Unit/FieldUninstallValidatorTest.php
@@ -81,7 +81,7 @@ public function testValidateNoDeleted() {
       ->willReturn([$field_storage]);
 
     $module = $this->randomMachineName();
-    $expected = ['Fields type(s) in use'];
+    $expected = ["Module's field type(s) are in use: "];
     $reasons = $this->fieldUninstallValidator->validate($module);
     $this->assertSame($expected, $reasons);
   }
diff --git a/core/modules/system/src/Tests/Field/FieldModuleUninstallValidatorTest.php b/core/modules/system/src/Tests/Field/FieldModuleUninstallValidatorTest.php
index 3720321..cc1bfbd 100644
--- a/core/modules/system/src/Tests/Field/FieldModuleUninstallValidatorTest.php
+++ b/core/modules/system/src/Tests/Field/FieldModuleUninstallValidatorTest.php
@@ -83,7 +83,7 @@ public function testUninstallingModule() {
     }
     catch (ModuleUninstallValidatorException $e) {
       $this->pass($message);
-      $this->assertEqual($e->getMessage(), 'The following reasons prevents the modules from being uninstalled: There is data for the field extra_base_field on entity type Test entity');
+      $this->assertEqual($e->getMessage(), 'The following reasons prevent the modules from being uninstalled: entity_test_extra: There is data for the field extra_base_field on entity type Test entity');
     }
 
     // Verify uninstalling entity_test is not possible when there is content for
diff --git a/core/modules/system/src/Tests/Module/UninstallTest.php b/core/modules/system/src/Tests/Module/UninstallTest.php
index 4f5e193..a124fa1 100644
--- a/core/modules/system/src/Tests/Module/UninstallTest.php
+++ b/core/modules/system/src/Tests/Module/UninstallTest.php
@@ -61,7 +61,7 @@ function testUninstallPage() {
     // @see regression https://www.drupal.org/node/2512106
     $this->assertRaw('<label for="edit-uninstall-node" class="module-name table-filter-text-source">Node</label>');
 
-    $this->assertText(\Drupal::translation()->translate('The following reason prevents Node from being uninstalled:'));
+    $this->assertText(\Drupal::translation()->translate('The following reason prevent Node from being uninstalled: There is content for the entity type: Content'), 'Content prevents uninstalling node module.');
     $this->assertText(\Drupal::translation()->translate('There is content for the entity type: Content'));
     // Delete the node to allow node to be uninstalled.
     $node->delete();
diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc
index b07605f..9577a49 100644
--- a/core/modules/system/system.admin.inc
+++ b/core/modules/system/system.admin.inc
@@ -317,7 +317,7 @@ function theme_system_modules_uninstall($variables) {
       $disabled_reasons = drupal_render($disabled_reasons);
       $disabled_header = \Drupal::translation()->formatPlural(count($form['modules'][$module]['#validation_reasons']),
         'The following reason prevents @module from being uninstalled:',
-        'The following reasons prevents @module from being uninstalled:',
+        'The following reasons prevent @module from being uninstalled:',
         array('@module' => $form['modules'][$module]['#module_name']));
     }
     $rows[] = array(
