diff --git a/core/modules/block_content/tests/src/Kernel/BlockContentDeriverTest.php b/core/modules/block_content/tests/src/Kernel/BlockContentDeriverTest.php
index 3695c591b6..ca8491af95 100644
--- a/core/modules/block_content/tests/src/Kernel/BlockContentDeriverTest.php
+++ b/core/modules/block_content/tests/src/Kernel/BlockContentDeriverTest.php
@@ -4,6 +4,7 @@
 
 use Drupal\block_content\Entity\BlockContent;
 use Drupal\block_content\Entity\BlockContentType;
+use Drupal\block_content\Plugin\Derivative\BlockContent as DerivativeBlockContent;
 use Drupal\Component\Plugin\PluginBase;
 use Drupal\KernelTests\KernelTestBase;
 
@@ -19,6 +20,32 @@ class BlockContentDeriverTest extends KernelTestBase {
    */
   protected static $modules = ['block', 'block_content', 'system', 'user'];
 
+  /**
+   * The definition array of the base plugin.
+   *
+   * @var array
+   */
+  protected $baseDefinition = [
+    'id' => 'block_content',
+    'provider' => 'block_content',
+    'class' => '\Drupal\block_content\Plugin\Block\BlockContentBlock',
+    'deriver' => '\Drupal\block_content\Plugin\Derivative\BlockContent',
+  ];
+
+  /**
+   * The block content storage.
+   *
+   * @var \Drupal\Core\Entity\EntityStorageInterface|\PHPUnit\Framework\MockObject\MockObject
+   */
+  protected $blockContentStorage;
+
+  /**
+   * The tested block content derivative class.
+   *
+   * @var \Drupal\block_content\Plugin\Derivative\BlockContent
+   */
+  protected $blockContentDerivative;
+
   /**
    * {@inheritdoc}
    */
@@ -26,6 +53,9 @@ protected function setUp(): void {
     parent::setUp();
     $this->installEntitySchema('user');
     $this->installEntitySchema('block_content');
+
+    $this->blockContentStorage = $this->createMock('Drupal\Core\Entity\EntityStorageInterface');
+    $this->blockContentDerivative = new DerivativeBlockContent($this->blockContentStorage);
   }
 
   /**
@@ -62,4 +92,56 @@ public function testReusableBlocksOnlyAreDerived() {
     $this->assertFalse($block_manager->hasDefinition($plugin_id));
   }
 
+  /**
+   * Tests derivate definitions admin labels.
+   */
+  public function testGetDerivativeDefinitionsAdminLabels() {
+    $block_content_entities = $this->getMockedBlockContentEntities();
+
+    $this->blockContentStorage->expects($this->any())
+      ->method('loadByProperties')
+      ->willReturn($block_content_entities);
+
+    $definitions = $this->blockContentDerivative->getDerivativeDefinitions($this->baseDefinition);
+
+    $expected_labels = [];
+    foreach ($block_content_entities as $entity) {
+      $expected_labels[] = $entity->label() ?? $entity->type->entity->label() . ' ' . $entity->id();
+    }
+
+    foreach ($definitions as $definition) {
+      $this->assertEquals(array_shift($expected_labels), $definition['admin_label']);
+      $this->assertNotNull($definition['admin_label']);
+    }
+  }
+  /**
+   * Creates the mocked entities we need.
+   */
+  protected function getMockedBlockContentEntities() {
+    // Create a block content type.
+    $block_content_type = BlockContentType::create([
+      'id' => 'spiffy',
+      'label' => 'Mucho spiffy',
+      'description' => "Provides a block type that increases your site's spiffiness by up to 11%",
+    ]);
+    $block_content_type->save();
+    // Create a block content entity with a label.
+    $block_content_label = BlockContent::create([
+      'info' => 'Spiffy prototype',
+      'type' => 'spiffy',
+    ]);
+    $block_content_label->save();
+    // Create a block content entity without a label.
+    $block_content_no_label = BlockContent::create([
+      'type' => 'spiffy',
+    ]);
+    $block_content_no_label->save();
+
+    // Created entities keyed by their id.
+    return [
+      $block_content_label->id() => $block_content_label,
+      $block_content_no_label->id() => $block_content_no_label,
+    ];
+  }
+
 }
