diff --git a/core/modules/node/migration_templates/d6_node_revision.yml b/core/modules/node/migration_templates/d6_node_revision.yml
index 9ba85d3..772daec 100644
--- a/core/modules/node/migration_templates/d6_node_revision.yml
+++ b/core/modules/node/migration_templates/d6_node_revision.yml
@@ -39,6 +39,3 @@ process:
 
 destination:
   plugin: entity_revision:node
-migration_dependencies:
-  required:
-    - d6_node:*
diff --git a/core/modules/node/src/Plugin/migrate/builder/d6/Node.php b/core/modules/node/src/Plugin/migrate/builder/d6/Node.php
index 6bc0966..c0a8fc8 100644
--- a/core/modules/node/src/Plugin/migrate/builder/d6/Node.php
+++ b/core/modules/node/src/Plugin/migrate/builder/d6/Node.php
@@ -51,6 +51,13 @@ public function buildMigrations(array $template) {
       $node_type = $row->getSourceProperty('type');
       $values = $template;
       $values['id'] = $template['id'] . '__' . $node_type;
+
+      // If this migration is based on the d6_node_revision template, it should
+      // explicitly depend on the corresponding d6_node variant.
+      if ($template['id'] == 'd6_node_revision') {
+        $values['migration_dependencies']['required'][] = 'd6_node__' . $node_type;
+      }
+
       $migration = Migration::create($values);
 
       $fields = $this->getSourcePlugin('d6_field_instance', ['node_type' => $node_type] + $template['source']);
