diff --git a/core/modules/field/migration_templates/d6_field_formatter_settings.yml b/core/modules/field/migration_templates/d6_field_formatter_settings.yml
index 32fc5d6..3e241a1 100644
--- a/core/modules/field/migration_templates/d6_field_formatter_settings.yml
+++ b/core/modules/field/migration_templates/d6_field_formatter_settings.yml
@@ -21,12 +21,12 @@ process:
       source:
         - field_name
     -
+      plugin: skip_on_empty
+      method: row
+    -
       plugin: extract
       index:
         - 1
-    -
-      plugin: skip_on_empty
-      method: row
   entity_type: 'constants/entity_type'
   bundle: type_name
   view_mode:
@@ -36,6 +36,9 @@ process:
       source:
         - view_mode
     -
+      plugin: skip_on_empty
+      method: row
+    -
       plugin: extract
       index:
         - 1
diff --git a/core/modules/migrate/src/Plugin/migrate/process/Migration.php b/core/modules/migrate/src/Plugin/migrate/process/Migration.php
index d471d3e..a231280 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/Migration.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/Migration.php
@@ -11,7 +11,6 @@
 use Drupal\Core\Entity\EntityStorageInterface;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Drupal\migrate\MigrateSkipProcessException;
-use Drupal\migrate\MigrateSkipRowException;
 use Drupal\migrate\Plugin\MigratePluginManager;
 use Drupal\migrate\ProcessPluginBase;
 use Drupal\migrate\Entity\MigrationInterface;
@@ -145,7 +144,6 @@ public function transform($value, MigrateExecutableInterface $migrate_executable
         return $destination_ids;
       }
     }
-    throw new MigrateSkipRowException();
   }
 
   /**
diff --git a/core/modules/migrate/tests/src/Unit/process/MigrationTest.php b/core/modules/migrate/tests/src/Unit/process/MigrationTest.php
deleted file mode 100644
index 0a15c9e..0000000
--- a/core/modules/migrate/tests/src/Unit/process/MigrationTest.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\Tests\migrate\Unit\process\MigrationTest.
- */
-
-namespace Drupal\Tests\migrate\Unit\process;
-
-use Drupal\migrate\MigrateException;
-use Drupal\migrate\Plugin\migrate\process\Migration;
-
-/**
- * Tests the migration process plugin.
- *
- * @coversDefaultClass \Drupal\migrate\Plugin\migrate\process\Migration
- * @group migrate
- */
-class MigrationTest extends MigrateProcessTestCase {
-
-  /**
-   * {@inheritdoc}
-   */
-  protected function setUp() {
-
-    $this->migrationConfiguration = [
-      'id' => 'test',
-      'process' => [],
-      'source' => [],
-    ];
-
-    parent::setUp();
-  }
-
-  /**
-   * Assert that exceptions during import are logged.
-   * @expectedException \Drupal\migrate\MigrateSkipRowException
-   * @covers ::transform
-   */
-  public function testSaveOnException() {
-
-    // A bunch of mock objects to get thing working
-    $migration = $this->getMigration();
-    $migration_source = $this->getMock('\Drupal\migrate\Plugin\MigrateSourceInterface');
-    $migration_source->expects($this->once())
-      ->method('getIds')
-      ->willReturn([]);
-    $migration->expects($this->once())
-      ->method('getSourcePlugin')
-      ->willReturn($migration_source);
-    $migration_destination = $this->getMock('\Drupal\migrate\Plugin\MigrateDestinationInterface');
-    $migration->expects($this->once())
-      ->method('getDestinationPlugin')
-      ->willReturn($migration_destination);
-    $storage = $this->getMock('\Drupal\Core\Entity\EntityStorageInterface');
-    $storage->expects($this->once())
-      ->method('loadMultiple')
-      ->willReturn([
-        'id' => $migration
-      ]);
-    $manager = $this->getMockBuilder('\Drupal\migrate\Plugin\MigratePluginManager')
-      ->disableOriginalConstructor()
-      ->getMock();
-
-    // Throw an exception during import so we can log it.
-    $migration_destination->expects($this->once())
-      ->method('import')
-      ->willThrowException(new MigrateException());
-
-    // Build our migration plugin.
-    $plugin = new Migration(['migration' => []],
-      'migration', // ?
-      [],
-      $migration,
-      $storage,
-      $manager);
-
-    // Assert that we log exceptions thrown during the import.
-    $this->migrateExecutable->expects($this->once())
-      ->method('saveMessage');
-
-    $plugin->transform('value', $this->migrateExecutable, $this->row, 'prop');
-  }
-
-}
diff --git a/core/modules/taxonomy/migration_templates/d6_vocabulary_field.yml b/core/modules/taxonomy/migration_templates/d6_vocabulary_field.yml
index c2c8cf8..2fc0e0f 100644
--- a/core/modules/taxonomy/migration_templates/d6_vocabulary_field.yml
+++ b/core/modules/taxonomy/migration_templates/d6_vocabulary_field.yml
@@ -13,9 +13,13 @@ process:
   entity_type: 'constants/entity_type'
   type: 'constants/type'
   field_name:
-    plugin: migration
-    migration: d6_taxonomy_vocabulary
-    source: vid
+    -
+      plugin: migration
+      migration: d6_taxonomy_vocabulary
+      source: vid
+    -
+      plugin: skip_on_empty
+      method: row
   'settings/target_type': 'constants/target_entity_type'
   cardinality: 'constants/cardinality'
 destination:
diff --git a/core/modules/taxonomy/migration_templates/d6_vocabulary_field_instance.yml b/core/modules/taxonomy/migration_templates/d6_vocabulary_field_instance.yml
index 4c2c7ac..3f6ef78 100644
--- a/core/modules/taxonomy/migration_templates/d6_vocabulary_field_instance.yml
+++ b/core/modules/taxonomy/migration_templates/d6_vocabulary_field_instance.yml
@@ -12,9 +12,13 @@ process:
   entity_type: 'constants/entity_type'
   bundle: type
   field_name:
-    plugin: migration
-    migration: d6_taxonomy_vocabulary
-    source: vid
+    -
+      plugin: migration
+      migration: d6_taxonomy_vocabulary
+      source: vid
+    -
+      plugin: skip_on_empty
+      method: row
   'settings/handler': 'constants/selection_handler'
   'settings/handler_settings/target_bundles/0': @field_name
   'settings/handler_settings/auto_create': 'constants/auto_create'
