diff --git a/core/modules/media/config/install/field.storage.media.field_media_file.yml b/core/modules/media/config/install/field.storage.media.field_media_file.yml
index 344abd1761..1fa8af99a6 100644
--- a/core/modules/media/config/install/field.storage.media.field_media_file.yml
+++ b/core/modules/media/config/install/field.storage.media.field_media_file.yml
@@ -17,7 +17,7 @@ settings:
   display_field: false
   display_default: false
 module: file
-locked: true
+locked: false
 cardinality: 1
 translatable: true
 indexes: {  }
diff --git a/core/modules/media/config/install/field.storage.media.field_media_image.yml b/core/modules/media/config/install/field.storage.media.field_media_image.yml
index 155db1173e..231200d59b 100644
--- a/core/modules/media/config/install/field.storage.media.field_media_image.yml
+++ b/core/modules/media/config/install/field.storage.media.field_media_image.yml
@@ -24,7 +24,7 @@ settings:
   display_default: false
   uri_scheme: public
 module: image
-locked: true
+locked: false
 cardinality: 1
 translatable: true
 indexes: {  }
diff --git a/core/modules/media/src/MediaSourceBase.php b/core/modules/media/src/MediaSourceBase.php
index d22d86ceeb..dea0140260 100644
--- a/core/modules/media/src/MediaSourceBase.php
+++ b/core/modules/media/src/MediaSourceBase.php
@@ -240,7 +240,6 @@ protected function createSourceFieldStorage() {
         'entity_type' => 'media',
         'field_name' => $this->getSourceFieldName(),
         'type' => reset($this->pluginDefinition['allowed_field_types']),
-        'locked' => TRUE,
       ]);
   }
 
diff --git a/core/modules/media/src/MediaTypeForm.php b/core/modules/media/src/MediaTypeForm.php
index 3a96291e5a..80f7d21161 100644
--- a/core/modules/media/src/MediaTypeForm.php
+++ b/core/modules/media/src/MediaTypeForm.php
@@ -318,8 +318,8 @@ public function save(array $form, FormStateInterface $form_state) {
       $source_field = $source->createSourceField($media_type);
       /** @var \Drupal\field\FieldStorageConfigInterface $storage */
       $storage = $source_field->getFieldStorageDefinition();
-      if ($storage->isNew() || !$storage->isLocked()) {
-        $storage->setLocked(TRUE)->save();
+      if ($storage->isNew()) {
+        $storage->save();
       }
       $source_field->save();
 
diff --git a/core/modules/media/tests/src/Functional/MediaFunctionalTestCreateMediaTypeTrait.php b/core/modules/media/tests/src/Functional/MediaFunctionalTestCreateMediaTypeTrait.php
index 2d60c9bff6..4197caab65 100644
--- a/core/modules/media/tests/src/Functional/MediaFunctionalTestCreateMediaTypeTrait.php
+++ b/core/modules/media/tests/src/Functional/MediaFunctionalTestCreateMediaTypeTrait.php
@@ -51,7 +51,7 @@ protected function createMediaType(array $values = [], $source = 'test') {
       $source_field = $source->createSourceField($media_type);
       /** @var \Drupal\field\FieldStorageConfigInterface $storage */
       $storage = $source_field->getFieldStorageDefinition();
-      $storage->setLocked(TRUE)->save();
+      $storage->save();
       $source_field->save();
 
       $media_type
diff --git a/core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php
index 9cf467b61c..b1fb88d7fc 100644
--- a/core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php
+++ b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceFileTest.php
@@ -68,4 +68,31 @@ public function testMediaFileSource() {
     $assert_session->elementAttributeContains('css', '.image-style-thumbnail', 'src', 'text--plain.png');
   }
 
+  /**
+   * Test that it's possible to change the allowed file extensions.
+   */
+  public function testSourceFieldSettingsEditing() {
+
+    $session = $this->getSession();
+    $page = $session->getPage();
+    $assert_session = $this->assertSession();
+
+    $media_type_id = 'test_media_file_type';
+    $this->doTestCreateMediaType($media_type_id, 'file');
+
+    $this->drupalGet("admin/structure/media/manage/$media_type_id/fields/media.$media_type_id.field_media_file");
+
+    // File extension field exists.
+    $assert_session->fieldExists('Allowed file extensions');
+
+    // Add another extension.
+    $page->fillField('settings[file_extensions]', 'txt, doc, docx, pdf, odt');
+
+    $page->pressButton('Save settings');
+    $this->drupalGet("admin/structure/media/manage/$media_type_id/fields/media.$media_type_id.field_media_file");
+
+    // Verify that new extension is present.
+    $assert_session->fieldValueEquals('settings[file_extensions]', 'txt, doc, docx, pdf, odt');
+  }
+
 }
diff --git a/core/modules/media/tests/src/FunctionalJavascript/MediaUiJavascriptTest.php b/core/modules/media/tests/src/FunctionalJavascript/MediaUiJavascriptTest.php
index b150f894da..80fa633bac 100644
--- a/core/modules/media/tests/src/FunctionalJavascript/MediaUiJavascriptTest.php
+++ b/core/modules/media/tests/src/FunctionalJavascript/MediaUiJavascriptTest.php
@@ -90,7 +90,7 @@ public function testMediaTypes() {
     /** @var \Drupal\field\FieldStorageConfigInterface $storage */
     $storage = $source_field->getFieldStorageDefinition();
     $this->assertFalse($storage->isNew(), 'Source field storage definition was saved.');
-    $this->assertTrue($storage->isLocked(), 'Source field storage definition was locked.');
+    $this->assertFalse($storage->isLocked(), 'Source field storage definition was not locked.');
 
     /** @var \Drupal\media\MediaTypeInterface $media_type_storage */
     $media_type_storage = $this->container->get('entity_type.manager')->getStorage('media_type');
diff --git a/core/modules/media/tests/src/Kernel/MediaSourceTest.php b/core/modules/media/tests/src/Kernel/MediaSourceTest.php
index c236914ce9..90f6f2b592 100644
--- a/core/modules/media/tests/src/Kernel/MediaSourceTest.php
+++ b/core/modules/media/tests/src/Kernel/MediaSourceTest.php
@@ -352,7 +352,7 @@ public function testSourceFieldCreation() {
 
     // Test field storage.
     $this->assertTrue($field_storage->isNew(), 'Field storage is saved automatically.');
-    $this->assertTrue($field_storage->isLocked(), 'Field storage is not locked.');
+    $this->assertFalse($field_storage->isLocked(), 'Field storage is not locked.');
     $this->assertEquals('string', $field_storage->getType(), 'Field is not of correct type.');
     $this->assertEquals('field_media_test_1', $field_storage->getName(), 'Incorrect field name is used.');
     $this->assertEquals('media', $field_storage->getTargetEntityTypeId(), 'Field is not targeting media entities.');
@@ -387,7 +387,7 @@ public function testSourceFieldCreation() {
 
     // Test field storage.
     $this->assertTrue($field_storage->isNew(), 'Field storage is saved automatically.');
-    $this->assertTrue($field_storage->isLocked(), 'Field storage is not locked.');
+    $this->assertFalse($field_storage->isLocked(), 'Field storage is not locked.');
     $this->assertEquals('string_long', $field_storage->getType(), 'Field is of incorrect type.');
     $this->assertEquals('field_media_test_constraints_1', $field_storage->getName(), 'Incorrect field name is used.');
     $this->assertEquals('media', $field_storage->getTargetEntityTypeId(), 'Field is not targeting media entities.');
