diff --git a/src/Handler/EntityHierarchyHandler.php b/src/Handler/EntityHierarchyHandler.php
index 50f29808cb71f0a4789caca61d8bcab9b97d09c4..3ab447ee07d77dad870fdc235e6e76b8978cbd47 100644
--- a/src/Handler/EntityHierarchyHandler.php
+++ b/src/Handler/EntityHierarchyHandler.php
@@ -17,7 +17,7 @@ class EntityHierarchyHandler implements EntityHierarchyHandlerInterface {
   public function getAddChildUrl(EntityTypeInterface $entityType, ContentEntityInterface $parent, $bundle, $fieldName) {
     $routeName = "entity.{$entityType->id()}.add_form";
     return Url::fromRoute($routeName, [
-      $entityType->getKey('bundle') => $bundle,
+      ($entityType->getBundleEntityType() ?? $entityType->getKey('bundle')) => $bundle,
     ], [
       'query' => [
         $fieldName => $parent->id(),
diff --git a/tests/src/Functional/ReorderChildrenFunctionalTest.php b/tests/src/Functional/ReorderChildrenFunctionalTest.php
index b8f6b6394d759132906b11385b70f800918faa64..16bc6bc985d21ef37f25a0a0de5c701e86340e14 100644
--- a/tests/src/Functional/ReorderChildrenFunctionalTest.php
+++ b/tests/src/Functional/ReorderChildrenFunctionalTest.php
@@ -128,7 +128,7 @@ class ReorderChildrenFunctionalTest extends BrowserTestBase {
     $assert->linkExists('Children');
     $different_test_entity = EntityTestRev::create([
       'type' => 'entity_test_rev',
-      'label' => 'No children here',
+      'name' => 'No children here',
     ]);
     $different_test_entity->save();
     $this->drupalGet($different_test_entity->toUrl());
@@ -140,7 +140,7 @@ class ReorderChildrenFunctionalTest extends BrowserTestBase {
     entity_test_create_bundle('someotherbundle');
     $another_different_test_entity = EntityTest::create([
       'type' => 'someotherbundle',
-      'label' => 'No children here either',
+      'name' => 'No children here either',
     ]);
     $another_different_test_entity->save();
     $this->drupalGet($another_different_test_entity->toUrl());
@@ -156,7 +156,7 @@ class ReorderChildrenFunctionalTest extends BrowserTestBase {
     $field->save();
     $another_different_test_entity = EntityTest::create([
       'type' => 'someotherbundle',
-      'label' => 'No children here either',
+      'name' => 'No children here either',
     ]);
     $another_different_test_entity->save();
     $this->drupalGet($another_different_test_entity->toUrl());