diff --git a/src/DiffBuilderManager.php b/src/DiffBuilderManager.php
index a9b5c1d..66855d0 100644
--- a/src/DiffBuilderManager.php
+++ b/src/DiffBuilderManager.php
@@ -172,17 +172,40 @@ class DiffBuilderManager extends DefaultPluginManager {
    *
    * @param FieldStorageDefinitionInterface $field_definition
    *   The field storage definition.
+   * @param bool $all_bundles
+   *   Flag to check if it loops over the bundles where the field is.
    *
    * @return array
    *   The selected plugin for the field.
    */
-  public function getSelectedPluginForFieldStorageDefinition(FieldStorageDefinitionInterface $field_definition) {
+  public function getSelectedPluginForFieldStorageDefinition(FieldStorageDefinitionInterface $field_definition, $all_bundles = FALSE) {
     $plugin_options = $this->getApplicablePluginOptions($field_definition);
     $field_key = $field_definition->getTargetEntityTypeId() . '.' . $field_definition->getName();
+
+    if ($all_bundles) {
+      $storage = $this->entityTypeManager->getStorage('entity_form_display');
+      $visible = FALSE;
+      if ($field_definition instanceof BaseFieldDefinition) {
+        foreach ($storage->loadByProperties(['targetEntityType' => $field_definition->getTargetEntityTypeId(), 'mode' => 'default']) as $value) {
+          $visible = (bool) $value->getComponent($field_definition->getName());
+        }
+      }
+      else {
+        foreach ($field_definition->getBundles() as $value) {
+          if ($display = $storage->load($field_definition->getTargetEntityTypeId() . '.' . $value . '.default')) {
+            $visible = (bool) $display->getComponent($field_definition->getName());
+          }
+        }
+      }
+      if (!$visible) {
+        return ['type' => 'hidden'];
+      }
+    }
+
     $selected_plugin = $this->pluginsConfig->get('fields.' . $field_key);
     // Check if the plugin stored to the fields is still applicable.
     if (!$selected_plugin || !in_array($selected_plugin['type'], array_keys($plugin_options))) {
-      if (!empty($plugin_options)) {
+      if (!empty($plugin_options) && $selected_plugin['type'] != 'hidden') {
         $selected_plugin['type'] = array_keys($plugin_options)[0];
       }
       else {
diff --git a/src/Form/FieldsSettingsForm.php b/src/Form/FieldsSettingsForm.php
index 4794b9e..7fe4832 100644
--- a/src/Form/FieldsSettingsForm.php
+++ b/src/Form/FieldsSettingsForm.php
@@ -173,7 +173,7 @@ class FieldsSettingsForm extends ConfigFormBase {
     $field_type = $field_definition->getType();
     $field_key = $entity_type->id() . '.' . $field_name;
 
-    $display_options = $this->diffBuilderManager->getSelectedPluginForFieldStorageDefinition($field_definition);
+    $display_options = $this->diffBuilderManager->getSelectedPluginForFieldStorageDefinition($field_definition, TRUE);
     $plugin_options = $this->diffBuilderManager->getApplicablePluginOptions($field_definition);
 
     // Base button element for the various plugin settings actions.
