diff --git a/core/modules/path/migration_templates/d6_url_alias.yml b/core/modules/path/migration_templates/d6_url_alias.yml
index 4ca48fe..968b1e6 100644
--- a/core/modules/path/migration_templates/d6_url_alias.yml
+++ b/core/modules/path/migration_templates/d6_url_alias.yml
@@ -20,5 +20,17 @@ process:
   langcode:
     plugin: d6_url_alias_language
     source: language
+  node_translation:
+    -
+      plugin: explode
+      source: src
+      delimiter: /
+    -
+      plugin: extract
+      index:
+        - 1
+    -
+      plugin: migration
+      migration: d6_node_translation
 destination:
   plugin: url_alias
diff --git a/core/modules/path/migration_templates/d7_url_alias.yml b/core/modules/path/migration_templates/d7_url_alias.yml
index a3ddec1..713a346 100644
--- a/core/modules/path/migration_templates/d7_url_alias.yml
+++ b/core/modules/path/migration_templates/d7_url_alias.yml
@@ -18,5 +18,17 @@ process:
       - constants/slash
       - alias
   langcode: language
+  node_translation:
+    -
+      plugin: explode
+      source: source
+      delimiter: /
+    -
+      plugin: extract
+      index:
+        - 1
+    -
+      plugin: migration
+      migration: d7_node_translation
 destination:
   plugin: url_alias
diff --git a/core/modules/path/src/Plugin/migrate/destination/UrlAlias.php b/core/modules/path/src/Plugin/migrate/destination/UrlAlias.php
index 3146990..1e7427c 100644
--- a/core/modules/path/src/Plugin/migrate/destination/UrlAlias.php
+++ b/core/modules/path/src/Plugin/migrate/destination/UrlAlias.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\path\Plugin\migrate\destination;
 
+use Drupal\node\Entity\Node;
 use Drupal\Core\Path\AliasStorage;
 use Drupal\migrate\Plugin\MigrationInterface;
 use Drupal\migrate\Row;
@@ -59,13 +60,20 @@ public static function create(ContainerInterface $container, array $configuratio
    * {@inheritdoc}
    */
   public function import(Row $row, array $old_destination_id_values = array()) {
+    $source = $row->getDestinationProperty('source');
+    $alias = $row->getDestinationProperty('alias');
+    $langcode = $row->getDestinationProperty('langcode');
+    $pid = $old_destination_id_values ? $old_destination_id_values[0] : NULL;
 
-    $path = $this->aliasStorage->save(
-      $row->getDestinationProperty('source'),
-      $row->getDestinationProperty('alias'),
-      $row->getDestinationProperty('langcode'),
-      $old_destination_id_values ? $old_destination_id_values[0] : NULL
-    );
+    if (preg_match('/^\/node\/(\d+)$/', $source, $matches)) {
+      if (Node::load($matches[1]) === NULL) {
+        $node_translation = $row->getDestinationProperty('node_translation');
+        $source = '/node/' . $node_translation[0];
+        $langcode = $node_translation[1];
+      }
+    }
+
+    $path = $this->aliasStorage->save($source, $alias, $langcode, $pid);
 
     return array($path['pid']);
   }
