diff --git a/core/modules/node/node.routing.yml b/core/modules/node/node.routing.yml
index 7c942a2..89d2f87 100644
--- a/core/modules/node/node.routing.yml
+++ b/core/modules/node/node.routing.yml
@@ -59,6 +59,10 @@ entity.node.revision:
   requirements:
     _access_node_revision: 'view'
     node: \d+
+  options:
+    parameters:
+      node_revision:
+        type: entity_revision:node
 
 node.revision_revert_confirm:
   path: '/node/{node}/revisions/{node_revision}/revert'
@@ -70,6 +74,9 @@ node.revision_revert_confirm:
     node: \d+
   options:
     _node_operation_route: TRUE
+    parameters:
+      node_revision:
+        type: entity_revision:node
 
 node.revision_revert_translation_confirm:
   path: '/node/{node}/revisions/{node_revision}/revert/{langcode}'
@@ -81,6 +88,9 @@ node.revision_revert_translation_confirm:
     node: \d+
   options:
     _node_operation_route: TRUE
+    parameters:
+      node_revision:
+        type: entity_revision:node
 
 node.revision_delete_confirm:
   path: '/node/{node}/revisions/{node_revision}/delete'
@@ -92,6 +102,9 @@ node.revision_delete_confirm:
     node: \d+
   options:
     _node_operation_route: TRUE
+    parameters:
+      node_revision:
+        type: entity_revision:node
 
 entity.node_type.collection:
   path: '/admin/structure/types'
diff --git a/core/modules/node/src/Controller/NodeController.php b/core/modules/node/src/Controller/NodeController.php
index 048b949..6e2c47a 100644
--- a/core/modules/node/src/Controller/NodeController.php
+++ b/core/modules/node/src/Controller/NodeController.php
@@ -118,15 +118,14 @@ public function add(NodeTypeInterface $node_type) {
   /**
    * Displays a node revision.
    *
-   * @param int $node_revision
-   *   The node revision ID.
+   * @param \Drupal\node\NodeInterface $node_revision
+   *   The node revision object.
    *
    * @return array
    *   An array suitable for drupal_render().
    */
-  public function revisionShow($node_revision) {
-    $node = $this->entityManager()->getStorage('node')->loadRevision($node_revision);
-    $node = $this->entityManager()->getTranslationFromContext($node);
+  public function revisionShow(NodeInterface $node_revision) {
+    $node = $this->entityManager()->getTranslationFromContext($node_revision);
     $node_view_controller = new NodeViewController($this->entityManager, $this->renderer, $this->currentUser());
     $page = $node_view_controller->view($node);
     unset($page['nodes'][$node->id()]['#cache']);
@@ -136,15 +135,14 @@ public function revisionShow($node_revision) {
   /**
    * Page title callback for a node revision.
    *
-   * @param int $node_revision
-   *   The node revision ID.
+   * @param \Drupal\node\NodeInterface $node_revision
+   *   The node revision object.
    *
    * @return string
    *   The page title.
    */
-  public function revisionPageTitle($node_revision) {
-    $node = $this->entityManager()->getStorage('node')->loadRevision($node_revision);
-    return $this->t('Revision of %title from %date', array('%title' => $node->label(), '%date' => format_date($node->getRevisionCreationTime())));
+  public function revisionPageTitle(NodeInterface $node_revision) {
+    return $this->t('Revision of %title from %date', array('%title' => $node_revision->label(), '%date' => format_date($node_revision->getRevisionCreationTime())));
   }
 
   /**
diff --git a/core/modules/node/src/Form/NodeRevisionDeleteForm.php b/core/modules/node/src/Form/NodeRevisionDeleteForm.php
index 27eec48..51fa310 100644
--- a/core/modules/node/src/Form/NodeRevisionDeleteForm.php
+++ b/core/modules/node/src/Form/NodeRevisionDeleteForm.php
@@ -102,7 +102,7 @@ public function getConfirmText() {
    * {@inheritdoc}
    */
   public function buildForm(array $form, FormStateInterface $form_state, $node_revision = NULL) {
-    $this->revision = $this->nodeStorage->loadRevision($node_revision);
+    $this->revision = $node_revision;
     $form = parent::buildForm($form, $form_state);
 
     return $form;
diff --git a/core/modules/node/src/Form/NodeRevisionRevertForm.php b/core/modules/node/src/Form/NodeRevisionRevertForm.php
index 275d55b..87e9a9d 100644
--- a/core/modules/node/src/Form/NodeRevisionRevertForm.php
+++ b/core/modules/node/src/Form/NodeRevisionRevertForm.php
@@ -98,7 +98,7 @@ public function getDescription() {
    * {@inheritdoc}
    */
   public function buildForm(array $form, FormStateInterface $form_state, $node_revision = NULL) {
-    $this->revision = $this->nodeStorage->loadRevision($node_revision);
+    $this->revision = $node_revision;
     $form = parent::buildForm($form, $form_state);
 
     return $form;
