diff --git a/core/lib/Drupal/Core/ParamConverter/EntityConverter.php b/core/lib/Drupal/Core/ParamConverter/EntityConverter.php
index 04665e6..b9279d0 100644
--- a/core/lib/Drupal/Core/ParamConverter/EntityConverter.php
+++ b/core/lib/Drupal/Core/ParamConverter/EntityConverter.php
@@ -8,6 +8,7 @@
 namespace Drupal\Core\ParamConverter;
 
 use Drupal\Core\Entity\EntityManagerInterface;
+use Drupal\Core\TypedData\TranslatableInterface;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\Routing\Route;
 
@@ -26,7 +27,7 @@ class EntityConverter implements ParamConverterInterface {
   /**
    * Constructs a new EntityConverter.
    *
-   * @param \Drupal\Core\Entity\EntityManagerInterface $entityManager
+   * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
    *   The entity manager.
    */
   public function __construct(EntityManagerInterface $entity_manager) {
@@ -39,7 +40,11 @@ public function __construct(EntityManagerInterface $entity_manager) {
   public function convert($value, $definition, $name, array $defaults, Request $request) {
     $entity_type = substr($definition['type'], strlen('entity:'));
     if ($storage = $this->entityManager->getStorage($entity_type)) {
-      return $storage->load($value);
+      $entity = $storage->load($value);
+      if ($entity instanceof TranslatableInterface) {
+        $entity = $this->entityManager->getTranslationFromContext($entity, NULL, array('operation' => 'entity_upcast'));
+      }
+      return $entity;
     }
   }
 
diff --git a/core/modules/content_translation/src/Form/ContentTranslationDeleteForm.php b/core/modules/content_translation/src/Form/ContentTranslationDeleteForm.php
index 4100fdb..10ff66c 100644
--- a/core/modules/content_translation/src/Form/ContentTranslationDeleteForm.php
+++ b/core/modules/content_translation/src/Form/ContentTranslationDeleteForm.php
@@ -71,6 +71,7 @@ public function getCancelRoute() {
    */
   public function submitForm(array &$form, array &$form_state) {
     // Remove the translated values.
+    $this->entity = $this->entity->getUntranslated();
     $this->entity->removeTranslation($this->language->id);
     $this->entity->save();
 
diff --git a/core/modules/system/src/Tests/Entity/EntityTranslationFormTest.php b/core/modules/system/src/Tests/Entity/EntityTranslationFormTest.php
index 197b871..e7d5334 100644
--- a/core/modules/system/src/Tests/Entity/EntityTranslationFormTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityTranslationFormTest.php
@@ -107,6 +107,7 @@ function testEntityFormLanguage() {
     // Create a body translation and check the form language.
     $langcode2 = $this->langcodes[1];
     $node->getTranslation($langcode2)->body->value = $this->randomName(16);
+    $node->getTranslation($langcode2)->setOwnerId($web_user->id());
     $node->save();
     $this->drupalGet($langcode2 . '/node/' . $node->id() . '/edit');
     $form_langcode = \Drupal::state()->get('entity_test.form_langcode') ?: FALSE;
