diff --git a/core/lib/Drupal/Core/Entity/EntityType.php b/core/lib/Drupal/Core/Entity/EntityType.php
index e28fdb0da4..c6f320fd6e 100644
--- a/core/lib/Drupal/Core/Entity/EntityType.php
+++ b/core/lib/Drupal/Core/Entity/EntityType.php
@@ -3,6 +3,7 @@
 namespace Drupal\Core\Entity;
 
 use Drupal\Component\Plugin\Definition\PluginDefinition;
+use Drupal\Core\DependencyInjection\DependencySerializationTrait;
 use Drupal\Core\Entity\Exception\EntityTypeIdLengthException;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\Core\StringTranslation\TranslatableMarkup;
@@ -14,6 +15,7 @@
  */
 class EntityType extends PluginDefinition implements EntityTypeInterface {
 
+  use DependencySerializationTrait;
   use StringTranslationTrait;
 
   /**
diff --git a/core/modules/locale/tests/src/Kernel/EntityTypeSerializationTest.php b/core/modules/locale/tests/src/Kernel/EntityTypeSerializationTest.php
new file mode 100644
index 0000000000..30946f98bd
--- /dev/null
+++ b/core/modules/locale/tests/src/Kernel/EntityTypeSerializationTest.php
@@ -0,0 +1,37 @@
+<?php
+
+namespace Drupal\Tests\locale\Kernel;
+
+use Drupal\Core\Entity\EntityType;
+use Drupal\KernelTests\KernelTestBase;
+
+/**
+ * Tests that entity type definitions can be serialized when Locale is present.
+ *
+ * @group locale
+ */
+class EntityTypeSerializationTest extends KernelTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = [
+    'field',
+    'file',
+    'language',
+    'locale',
+  ];
+
+  public function testEntityTypeSerializationWithTranslationService() {
+    $entity_type = new EntityType([
+      'id' => $this->randomMachineName(),
+    ]);
+
+    /** @var \Drupal\Core\StringTranslation\TranslationInterface $translation */
+    $translation = $this->container->get('string_translation');
+    $entity_type->setStringTranslation($translation);
+
+    serialize($entity_type);
+  }
+
+}
