diff --git a/core/modules/field_ui/field_ui.es6.js b/core/modules/field_ui/field_ui.es6.js
index 950df384ca7cdaae2dcc86780002c3a480f5f1a0..10f5581e50c438e87c79e3e9678fd9bcaa90f11e 100644
--- a/core/modules/field_ui/field_ui.es6.js
+++ b/core/modules/field_ui/field_ui.es6.js
@@ -365,10 +365,14 @@
       // disabled previously. Pseudo-fields do not have default formatters,
       // we just return to 'visible' for those.
       if (this.region === 'hidden') {
+        const pluginSelect =
+          typeof this.$pluginSelect.find('option')[0] !== 'undefined'
+            ? this.$pluginSelect.find('option')[0].value
+            : undefined;
         const value =
           typeof this.defaultPlugin !== 'undefined'
             ? this.defaultPlugin
-            : this.$pluginSelect.find('option')[0].value;
+            : pluginSelect;
 
         if (typeof value !== 'undefined') {
           if (this.$pluginSelect.length) {
diff --git a/core/modules/field_ui/field_ui.js b/core/modules/field_ui/field_ui.js
index 06aba8ee13109fce21e34f35710d166e8501c128..40003324467506e2bd0487b4862f94ac35ebb78d 100644
--- a/core/modules/field_ui/field_ui.js
+++ b/core/modules/field_ui/field_ui.js
@@ -150,7 +150,8 @@
         this.$regionSelect[0].value = region;
       }
       if (this.region === 'hidden') {
-        var value = typeof this.defaultPlugin !== 'undefined' ? this.defaultPlugin : this.$pluginSelect.find('option')[0].value;
+        var pluginSelect = typeof this.$pluginSelect.find('option')[0] !== 'undefined' ? this.$pluginSelect.find('option')[0].value : undefined;
+        var value = typeof this.defaultPlugin !== 'undefined' ? this.defaultPlugin : pluginSelect;
         if (typeof value !== 'undefined') {
           if (this.$pluginSelect.length) {
             this.$pluginSelect[0].value = value;