diff --git a/core/lib/Drupal/Core/Entity/ContentEntityForm.php b/core/lib/Drupal/Core/Entity/ContentEntityForm.php
index 92bbbae42f..54b55e2f5c 100644
--- a/core/lib/Drupal/Core/Entity/ContentEntityForm.php
+++ b/core/lib/Drupal/Core/Entity/ContentEntityForm.php
@@ -77,6 +77,12 @@ public static function create(ContainerInterface $container) {
   protected function prepareEntity() {
     parent::prepareEntity();
 
+    if (!$this->entity->isLatestRevision()) {
+      /** @var \Drupal\Core\Entity\ContentEntityStorageInterface $storage */
+      $storage = $this->entityTypeManager->getStorage($this->entity->getEntityTypeId());
+      $this->entity = $storage->loadRevision($storage->getLatestRevisionId($this->entity->id()));
+    }
+
     // Hide the current revision log message in UI.
     if ($this->showRevisionUi() && !$this->entity->isNew() && $this->entity instanceof RevisionLogInterface) {
       $this->entity->setRevisionLogMessage(NULL);
diff --git a/core/lib/Drupal/Core/Entity/EntityResolverManager.php b/core/lib/Drupal/Core/Entity/EntityResolverManager.php
index 10ad93a994..e9a87d6a6e 100644
--- a/core/lib/Drupal/Core/Entity/EntityResolverManager.php
+++ b/core/lib/Drupal/Core/Entity/EntityResolverManager.php
@@ -196,30 +196,6 @@ protected function setParametersFromEntityInformation(Route $route) {
     }
   }
 
-  /**
-   * Ensure revisionable entities load the latest revision on entity forms.
-   *
-   * @param \Symfony\Component\Routing\Route $route
-   *   The route object.
-   */
-  protected function setLatestRevisionFlag(Route $route) {
-    if (!$entity_form = $route->getDefault('_entity_form')) {
-      return;
-    }
-    // Only set the flag on entity types which are revisionable.
-    list($entity_type) = explode('.', $entity_form, 2);
-    if (!isset($this->getEntityTypes()[$entity_type]) || !$this->getEntityTypes()[$entity_type]->isRevisionable()) {
-      return;
-    }
-    $parameters = $route->getOption('parameters') ?: [];
-    foreach ($parameters as &$parameter) {
-      if ($parameter['type'] === 'entity:' . $entity_type && !isset($parameter['load_latest_revision'])) {
-        $parameter['load_latest_revision'] = TRUE;
-      }
-    }
-    $route->setOption('parameters', $parameters);
-  }
-
   /**
    * Set the upcasting route objects.
    *
@@ -236,7 +212,6 @@ public function setRouteOptions(Route $route) {
 
     // Try to use _entity_* information on the route.
     $this->setParametersFromEntityInformation($route);
-    $this->setLatestRevisionFlag($route);
   }
 
   /**
diff --git a/core/tests/Drupal/Tests/Core/Entity/EntityResolverManagerTest.php b/core/tests/Drupal/Tests/Core/Entity/EntityResolverManagerTest.php
index fdcb9e661a..cdd41e6d8c 100644
--- a/core/tests/Drupal/Tests/Core/Entity/EntityResolverManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/EntityResolverManagerTest.php
@@ -476,138 +476,6 @@ protected function setupEntityTypes() {
       }));
   }
 
-  /**
-   * @covers ::setLatestRevisionFlag
-   *
-   * @dataProvider setLatestRevisionFlagTestCases
-   */
-  public function testSetLatestRevisionFlag($defaults, $parameters, $expected_parameters = FALSE) {
-    $route = new Route('/foo/{entity_test}', $defaults, [], [
-      'parameters' => $parameters,
-    ]);
-    $this->setupEntityTypes();
-    $this->entityResolverManager->setRouteOptions($route);
-    // If expected parameters have not been provided, assert they are unchanged.
-    $this->assertEquals($expected_parameters ?: $parameters, $route->getOption('parameters'));
-  }
-
-  /**
-   * Data provider for ::testSetLatestRevisionFlag.
-   */
-  public function setLatestRevisionFlagTestCases() {
-    return [
-      'Entity parameter not on an entity form' => [
-        [],
-        [
-          'entity_test' => [
-            'type' => 'entity:entity_test_rev',
-          ],
-        ],
-      ],
-      'Entity parameter on an entity form' => [
-        [
-          '_entity_form' => 'entity_test_rev.edit'
-        ],
-        [
-          'entity_test_rev' => [
-            'type' => 'entity:entity_test_rev',
-          ],
-        ],
-        [
-          'entity_test_rev' => [
-            'type' => 'entity:entity_test_rev',
-            'load_latest_revision' => TRUE,
-          ],
-        ],
-      ],
-      'Entity form with no operation' => [
-        [
-          '_entity_form' => 'entity_test_rev'
-        ],
-        [
-          'entity_test_rev' => [
-            'type' => 'entity:entity_test_rev',
-          ],
-        ],
-        [
-          'entity_test_rev' => [
-            'type' => 'entity:entity_test_rev',
-            'load_latest_revision' => TRUE,
-          ],
-        ],
-      ],
-      'Multiple entity parameters on an entity form' => [
-        [
-          '_entity_form' => 'entity_test_rev.edit'
-        ],
-        [
-          'entity_test_rev' => [
-            'type' => 'entity:entity_test_rev',
-          ],
-          'node' => [
-            'type' => 'entity:node',
-          ],
-        ],
-        [
-          'entity_test_rev' => [
-            'type' => 'entity:entity_test_rev',
-            'load_latest_revision' => TRUE,
-          ],
-          'node' => [
-            'type' => 'entity:node',
-          ],
-        ],
-      ],
-      'Overriden load_latest_revision flag does not change' => [
-        [
-          '_entity_form' => 'entity_test_rev.edit'
-        ],
-        [
-          'entity_test_rev' => [
-            'type' => 'entity:entity_test_rev',
-            'load_latest_revision' => FALSE,
-          ],
-        ],
-      ],
-      'Non-revisionable entity type will not change' => [
-        [
-          '_entity_form' => 'entity_test.edit'
-        ],
-        [
-          'entity_test' => [
-            'type' => 'entity:entity_test',
-          ],
-        ],
-        FALSE,
-        FALSE,
-      ],
-      'Overriden load_latest_revision flag does not change with multiple parameters' => [
-        [
-          '_entity_form' => 'entity_test_rev.edit'
-        ],
-        [
-          'entity_test_rev' => [
-            'type' => 'entity:entity_test_rev',
-          ],
-          'node' => [
-            'type' => 'entity:node',
-            'load_latest_revision' => FALSE,
-          ],
-        ],
-        [
-          'entity_test_rev' => [
-            'type' => 'entity:entity_test_rev',
-            'load_latest_revision' => TRUE,
-          ],
-          'node' => [
-            'type' => 'entity:node',
-            'load_latest_revision' => FALSE,
-          ],
-        ],
-      ],
-    ];
-  }
-
 }
 
 /**
