diff --git a/core/modules/ckeditor5/src/Controller/CKEditor5ImageController.php b/core/modules/ckeditor5/src/Controller/CKEditor5ImageController.php
index 9d4a6c674e9cf5aacb911a9b4aeee5414dbe05b5..ba6cdce28b584e0cc7a6ccc444e15ab659406d4c 100644
--- a/core/modules/ckeditor5/src/Controller/CKEditor5ImageController.php
+++ b/core/modules/ckeditor5/src/Controller/CKEditor5ImageController.php
@@ -164,7 +164,7 @@ public function upload(Request $request) {
     $lock_id = $this->generateLockIdFromFileUri($file_uri);
 
     if (!$this->lock->acquire($lock_id)) {
-      throw new HttpException(503, sprintf('File "%s" is already locked for writing.'), NULL, ['Retry-After' => 1]);
+      throw new HttpException(503, sprintf('File "%s" is already locked for writing.', $file_uri), NULL, ['Retry-After' => 1]);
     }
 
     // Begin building file entity.
diff --git a/core/modules/ckeditor5/tests/src/Functional/ImageUploadAccessTest.php b/core/modules/ckeditor5/tests/src/Functional/ImageUploadAccessTest.php
index b6c99ebc132450e497ee0f7d7b4d0b3645fc7dc9..ba239cc17fa7340b133930bac2ddb4257fa49d07 100644
--- a/core/modules/ckeditor5/tests/src/Functional/ImageUploadAccessTest.php
+++ b/core/modules/ckeditor5/tests/src/Functional/ImageUploadAccessTest.php
@@ -2,6 +2,9 @@
 
 namespace Drupal\Tests\ckeditor5\Functional;
 
+use Drupal\Component\Utility\Crypt;
+use Drupal\Core\File\FileSystemInterface;
+
 /**
  * Test image upload access.
  *
@@ -42,6 +45,15 @@ public function testCkeditor5ImageUploadRoute() {
     $response = $this->uploadRequest($url, $test_image, 'test.jpg');
     $this->assertSame(201, $response->getStatusCode());
 
+    // Ensure lock failures are reported correctly.
+    $d = 'public://inline-images/test.jpg';
+    $f = $this->container->get('file_system')->getDestinationFilename($d, FileSystemInterface::EXISTS_RENAME);
+    $this->container->get('lock')
+      ->acquire('file:ckeditor5:' . Crypt::hashBase64($f));
+    $response = $this->uploadRequest($url, $test_image, 'test.jpg');
+    $this->assertSame(503, $response->getStatusCode());
+    $this->assertStringContainsString('File "public://inline-images/test_0.jpg" is already locked for writing.', (string) $response->getBody());
+
     // Ensure that users without permissions to the text format cannot upload
     // images.
     $this->drupalLogout();