diff -u b/core/modules/field/field.module b/core/modules/field/field.module
--- b/core/modules/field/field.module
+++ b/core/modules/field/field.module
@@ -437,3 +437,3 @@
   $display_rebuilder = \Drupal::service('field.entity_display_rebuilder');
-  $display_rebuilder->rebuildAllEntityTypeDisplays();
+  $display_rebuilder->rebuildAllEntityTypeDisplays(TRUE);
 }
diff -u b/core/modules/field/src/EntityDisplayRebuilder.php b/core/modules/field/src/EntityDisplayRebuilder.php
--- b/core/modules/field/src/EntityDisplayRebuilder.php
+++ b/core/modules/field/src/EntityDisplayRebuilder.php
@@ -2,11 +2,10 @@
 
 namespace Drupal\field;
 
+use Drupal\Core\Entity\Entity\EntityFormDisplay;
+use Drupal\Core\Entity\Entity\EntityViewDisplay;
 use Drupal\Core\Entity\EntityDisplayRepositoryInterface;
-use Drupal\Core\Entity\EntityTypeInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
-use Drupal\Core\Entity\Entity\EntityViewDisplay;
-use Drupal\Core\Entity\Entity\EntityFormDisplay;
 
 /**
  * Rebuilds displays.
@@ -42,13 +41,16 @@
 
   /**
    * Rebuild displays for all Entity Types.
+   *
+   * @param bool $include_default_displays
+   *   Add 'default' displays. Defaults to FALSE.
    */
-  public function rebuildAllEntityTypeDisplays() {
+  public function rebuildAllEntityTypeDisplays($include_default_displays = FALSE) {
 
     // Loop through all entity types.
     $entity_types = $this->entityTypeManager->getDefinitions();
     foreach ($entity_types as $entity_type_id => $entity_type_definition) {
-      $this->rebuildEntityTypeDisplays($entity_type_id);
+      $this->rebuildEntityTypeDisplays($entity_type_id, $include_default_displays);
     }
 
   }
@@ -57,19 +59,24 @@
    * Rebuild displays for single Entity Type.
    *
    * @param string $entity_type_id
-   *    The entity type machine name.
+   *   The entity type machine name.
+   * @param bool $include_default_displays
+   *   Add 'default' displays. Defaults to FALSE.
    */
-  public function rebuildEntityTypeDisplays($entity_type_id) {
+  public function rebuildEntityTypeDisplays($entity_type_id, $include_default_displays = FALSE) {
     // Loop through all bundles.
-    $entity_bundles = entity_get_bundles($entity_type_id); // @todo: inject service here.
+    $entity_bundles = entity_get_bundles($entity_type_id);
     foreach ($entity_bundles as $bundle => $bundle_definition) {
 
       // Get the displays.
       $view_modes = $this->entityDisplayRepository->getViewModes($entity_type_id);
       $form_modes = $this->entityDisplayRepository->getFormModes($entity_type_id);
-      // Explicitly add the default displays.
-      $view_modes['default'] = ['status' => TRUE];
-      $form_modes['default'] = ['status' => TRUE];
+
+      // Explicitly add default displays.
+      if ($include_default_displays) {
+        $view_modes['default'] = [];
+        $form_modes['default'] = [];
+      }
 
       // Update view modes displays.
       foreach ($view_modes as $view_mode_id => $view_mode) {
@@ -79,8 +86,8 @@
       }
       // Update form modes displays.
       foreach ($form_modes as $form_mode_id => $form_mode) {
-        if ($form_display = EntityFormDisplay::load($entity_type_id . '.' . $bundle . '.' . $form_mode_id)) {
-          $form_display->save();
+        if ($display = EntityFormDisplay::load($entity_type_id . '.' . $bundle . '.' . $form_mode_id)) {
+          $display->save();
         }
       }
 
diff -u b/core/modules/language/tests/src/Kernel/LanguageDisplayConfigurationAfterUninstallTest.php b/core/modules/language/tests/src/Kernel/LanguageDisplayConfigurationAfterUninstallTest.php
--- b/core/modules/language/tests/src/Kernel/LanguageDisplayConfigurationAfterUninstallTest.php
+++ b/core/modules/language/tests/src/Kernel/LanguageDisplayConfigurationAfterUninstallTest.php
@@ -2,6 +2,8 @@
 
 namespace Drupal\Tests\language\Kernel;
 
+use Drupal\Core\Entity\Entity\EntityFormDisplay;
+use Drupal\Core\Entity\Entity\EntityFormMode;
 use Drupal\KernelTests\KernelTestBase;
 use Drupal\Core\Entity\Entity\EntityViewDisplay;
 use Drupal\Core\Entity\Entity\EntityViewMode;
@@ -33,9 +35,27 @@
     // For uninstall to work.
     $this->installSchema('user', ['users_data']);
 
-    // Create default display.
+    // Create 'default' view-display.
+    $display = EntityViewDisplay::create([
+      'targetEntityType' => 'entity_test',
+      'bundle' => 'entity_test',
+      'mode' => 'default',
+      'status' => TRUE,
+    ]);
+    $display->save();
+
+    // Create 'default' form-display.
+    $display = EntityFormDisplay::create([
+      'targetEntityType' => 'entity_test',
+      'bundle' => 'entity_test',
+      'mode' => 'default',
+      'status' => TRUE,
+    ]);
+    $display->save();
+
+    // Create a view-mode 'manual', create view-display that uses it.
     EntityViewMode::create([
-      'id' => 'entity_test.default',
+      'id' => 'entity_test.manual',
       'targetEntityType' => 'entity_test',
       'status' => TRUE,
       'enabled' => TRUE,
@@ -43,7 +63,22 @@
     $display = EntityViewDisplay::create([
       'targetEntityType' => 'entity_test',
       'bundle' => 'entity_test',
-      'mode' => 'default',
+      'mode' => 'manual',
+      'status' => TRUE,
+    ]);
+    $display->save();
+
+    // Create a new form-mode 'manual', create form-display that uses it.
+    EntityFormMode::create([
+      'id' => 'entity_test.manual',
+      'targetEntityType' => 'entity_test',
+      'status' => TRUE,
+      'enabled' => TRUE,
+    ])->save();
+    $display = EntityFormDisplay::create([
+      'targetEntityType' => 'entity_test',
+      'bundle' => 'entity_test',
+      'mode' => 'manual',
       'status' => TRUE,
     ]);
     $display->save();
@@ -51,19 +86,28 @@
   }
 
   /**
-   * Tests the widget with the locked languages.
+   * Tests display configuration after uninstalling Language module.
    */
   public function testConfigAfterUninstall() {
-    $default_config_name = 'core.entity_view_display.entity_test.entity_test.default';
+    $default_view_display = 'core.entity_view_display.entity_test.entity_test.default';
+    $default_form_display = 'core.entity_view_display.entity_test.entity_test.default';
+    $manual_view_display = 'core.entity_view_display.entity_test.entity_test.manual';
+    $manual_form_display = 'core.entity_view_display.entity_test.entity_test.manual';
 
     // 1. Validate that "langcode" key is there.
-    $this->assertArrayHasKey('langcode', \Drupal::config($default_config_name)->get('hidden'));
+    $this->assertArrayHasKey('langcode', \Drupal::config($default_view_display)->get('hidden'));
+    $this->assertArrayHasKey('langcode', \Drupal::config($default_form_display)->get('hidden'));
+    $this->assertArrayHasKey('langcode', \Drupal::config($manual_view_display)->get('hidden'));
+    $this->assertArrayHasKey('langcode', \Drupal::config($manual_form_display)->get('hidden'));
 
     // 2. Uninstall language module.
     \Drupal::service('module_installer')->uninstall(['language']);
 
     // 3. Test that "langcode" key is removed from field config.
-    $this->assertArrayNotHasKey('langcode', \Drupal::config($default_config_name)->get('hidden'));
+    $this->assertArrayNotHasKey('langcode', \Drupal::config($default_view_display)->get('hidden'));
+    $this->assertArrayNotHasKey('langcode', \Drupal::config($default_form_display)->get('hidden'));
+    $this->assertArrayNotHasKey('langcode', \Drupal::config($manual_view_display)->get('hidden'));
+    $this->assertArrayNotHasKey('langcode', \Drupal::config($manual_form_display)->get('hidden'));
 
   }
 
