diff --git a/core/lib/Drupal/Core/Entity/EntityBundleListener.php b/core/lib/Drupal/Core/Entity/EntityBundleListener.php
index e3b219b39c17d8f31b5a24b7e8c890ebc3741dbf..e37317a020c06f62f9044dcc91a3ff8d7d980b9f 100644
--- a/core/lib/Drupal/Core/Entity/EntityBundleListener.php
+++ b/core/lib/Drupal/Core/Entity/EntityBundleListener.php
@@ -68,6 +68,7 @@ public function onBundleCreate($bundle, $entity_type_id) {
     }
     // Invoke hook_entity_bundle_create() hook.
     $this->moduleHandler->invokeAll('entity_bundle_create', [$entity_type_id, $bundle]);
+    $this->entityFieldManager->clearCachedFieldDefinitions();
   }
 
   /**
diff --git a/core/lib/Drupal/Core/Entity/EntityFieldManager.php b/core/lib/Drupal/Core/Entity/EntityFieldManager.php
index f847cfa3840bb99cfab6044ded65e7e57308b888..88186c6706881e2276c3981596c3e436b20904b1 100644
--- a/core/lib/Drupal/Core/Entity/EntityFieldManager.php
+++ b/core/lib/Drupal/Core/Entity/EntityFieldManager.php
@@ -497,7 +497,7 @@ public function getFieldMap() {
           }
         }
 
-        $this->cacheSet($cid, $this->fieldMap, Cache::PERMANENT, ['entity_types']);
+        $this->cacheSet($cid, $this->fieldMap, Cache::PERMANENT, ['entity_types', 'entity_field_info']);
       }
     }
     return $this->fieldMap;
diff --git a/core/modules/language/tests/src/Kernel/Migrate/d6/MigrateLanguageContentSettingsTest.php b/core/modules/language/tests/src/Kernel/Migrate/d6/MigrateLanguageContentSettingsTest.php
index 546ab25e03414209ef5b3d73146042994bebe77c..57439d588d1bb6f31ac87123ae71af98cd90e3d3 100644
--- a/core/modules/language/tests/src/Kernel/Migrate/d6/MigrateLanguageContentSettingsTest.php
+++ b/core/modules/language/tests/src/Kernel/Migrate/d6/MigrateLanguageContentSettingsTest.php
@@ -25,6 +25,7 @@ protected function setUp() {
     parent::setUp();
 
     $this->installConfig(['node']);
+    $this->installEntitySchema('node');
     $this->executeMigrations(['d6_node_type', 'd6_language_content_settings']);
   }
 
diff --git a/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageContentSettingsTest.php b/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageContentSettingsTest.php
index e584467c92174c628e9f9ca0eb890225b5b0c952..3a07698d322c9134b1bb8eef78b09cb3d0e7dc89 100644
--- a/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageContentSettingsTest.php
+++ b/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageContentSettingsTest.php
@@ -25,6 +25,7 @@ protected function setUp() {
     parent::setUp();
 
     $this->installConfig(['node']);
+    $this->installEntitySchema('node');
     $this->executeMigrations(['d7_node_type', 'd7_language_content_settings']);
   }
 
diff --git a/core/tests/Drupal/KernelTests/Core/Entity/EntityBundleListenerTest.php b/core/tests/Drupal/KernelTests/Core/Entity/EntityBundleListenerTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..c5ace377492b6713d38687d2d34d28de0cf93797
--- /dev/null
+++ b/core/tests/Drupal/KernelTests/Core/Entity/EntityBundleListenerTest.php
@@ -0,0 +1,35 @@
+<?php
+
+namespace Drupal\KernelTests\Core\Entity;
+
+/**
+ * @coversDefaultClass \Drupal\Core\Entity\EntityBundleListener
+ *
+ * @group Entity
+ */
+class EntityBundleListenerTest extends EntityKernelTestBase {
+
+  /**
+   * @covers ::onBundleCreate
+   *
+   * Note: Installing the entity_schema_test module will mask the bug this test
+   * was written to cover, as the field map cache is cleared manually by
+   * \Drupal\Core\Field\FieldDefinitionListener::onFieldDefinitionCreate().
+   */
+  public function testOnBundleCreate() {
+    $field_map = $this->container->get('entity_field.manager')->getFieldMap();
+    $expected = [
+      'entity_test' => 'entity_test',
+    ];
+    $this->assertEquals($expected, $field_map['entity_test']['id']['bundles']);
+
+    entity_test_create_bundle('custom');
+    $field_map = $this->container->get('entity_field.manager')->getFieldMap();
+    $expected = [
+      'entity_test' => 'entity_test',
+      'custom' => 'custom',
+    ];
+    $this->assertSame($expected, $field_map['entity_test']['id']['bundles']);
+  }
+
+}