diff --git a/core/modules/file/src/Plugin/Field/FieldType/FileItem.php b/core/modules/file/src/Plugin/Field/FieldType/FileItem.php
index 7373c43..7a8005d 100644
--- a/core/modules/file/src/Plugin/Field/FieldType/FileItem.php
+++ b/core/modules/file/src/Plugin/Field/FieldType/FileItem.php
@@ -177,7 +177,7 @@ public function fieldSettingsForm(array $form, FormStateInterface $form_state) {
       '#type' => 'textfield',
       '#title' => t('Maximum upload size'),
       '#default_value' => $settings['max_filesize'],
-      '#description' => t('Enter a value like "512" (bytes), "80 KB" (kilobytes) or "50 MB" (megabytes) in order to restrict the allowed file size. If left empty the file sizes will be limited only by PHP\'s maximum post and file upload sizes (current limit <strong>%limit</strong>).', ['%limit' => format_size(file_upload_max_size())]),
+      '#description' => t('Enter a value like "512" (bytes), "80 KB" (kilobytes) or "50 MB" (megabytes) in order to restrict the allowed file size. If left empty the file sizes could be limited only by PHP\'s maximum post and file upload sizes (current limit <strong>%limit</strong>).', ['%limit' => format_size(file_upload_max_size())]),
       '#size' => 10,
       '#element_validate' => [[get_class($this), 'validateMaxFilesize']],
       '#weight' => 5,
diff --git a/core/modules/file/src/Plugin/Validation/Constraint/FileValidationConstraintValidator.php b/core/modules/file/src/Plugin/Validation/Constraint/FileValidationConstraintValidator.php
index 972aa69..f100504 100644
--- a/core/modules/file/src/Plugin/Validation/Constraint/FileValidationConstraintValidator.php
+++ b/core/modules/file/src/Plugin/Validation/Constraint/FileValidationConstraintValidator.php
@@ -18,6 +18,16 @@ public function validate($value, Constraint $constraint) {
     $file = $value->get('entity')->getTarget()->getValue();
     // Get the validators.
     $validators = $value->getUploadValidators();
+
+    // Always respect the configured maximum file size.
+    if ($max_filesize = $value->getFieldDefinition()->getSetting('max_filesize')) {
+      $validators['file_validate_size'] = $max_filesize;
+    }
+    else {
+      // Do not validate the file size if it is not set explicitly.
+      unset($validators['file_validate_size']);
+    }
+
     // Checks that a file meets the criteria specified by the validators.
     if ($errors = file_validate($file, $validators)) {
       foreach ($errors as $error) {
