diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/StringItemBase.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/StringItemBase.php
index 4772983..b100d39 100644
--- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/StringItemBase.php
+++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/StringItemBase.php
@@ -40,4 +40,17 @@ public static function propertyDefinitions(FieldStorageDefinitionInterface $fiel
     return $properties;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function isEmpty() {
+    $field_definition = $this->getFieldDefinition();
+    // Proceed only on user-added fields.
+    if (isset($field_definition['field_name']) && strpos($field_definition['field_name'], 'field_') === 0) {
+      $value = $this->getValue();
+      return !isset($value['value']) || trim($value['value']) === '';
+    }
+    return parent::isEmpty();
+  }
+
 }
