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 c851bf5..1e91fa2 100644
--- a/core/modules/field/migration_templates/d6_field_formatter_settings.yml
+++ b/core/modules/field/migration_templates/d6_field_formatter_settings.yml
@@ -28,7 +28,14 @@ process:
       index:
         - 1
   entity_type: 'constants/entity_type'
-  bundle: type_name
+  bundle:
+    -
+      plugin: migration
+      migration: d6_node_type
+      source: type_name
+    -
+      plugin: skip_on_empty
+      method: row
   view_mode:
     -
       plugin: migration
diff --git a/core/modules/field/migration_templates/d6_field_instance.yml b/core/modules/field/migration_templates/d6_field_instance.yml
index 78b81ad..aa7861a 100644
--- a/core/modules/field/migration_templates/d6_field_instance.yml
+++ b/core/modules/field/migration_templates/d6_field_instance.yml
@@ -28,7 +28,14 @@ process:
       method: row
   entity_type: 'constants/entity_type'
   field_name: field_name
-  bundle: type_name
+  bundle:
+    -
+      plugin: migration
+      migration: d6_node_type
+      source: type_name
+    -
+      plugin: skip_on_empty
+      method: row
   label: label
   description: description
   required: required
diff --git a/core/modules/field/migration_templates/d6_field_instance_widget_settings.yml b/core/modules/field/migration_templates/d6_field_instance_widget_settings.yml
index ad9c74a..d34648d 100644
--- a/core/modules/field/migration_templates/d6_field_instance_widget_settings.yml
+++ b/core/modules/field/migration_templates/d6_field_instance_widget_settings.yml
@@ -28,7 +28,14 @@ process:
     -
       plugin: skip_on_empty
       method: row
-  bundle: type_name
+  bundle:
+    -
+      plugin: migration
+      migration: d6_node_type
+      source: type_name
+    -
+      plugin: skip_on_empty
+      method: row
   form_mode: 'constants/form_mode'
   field_name: field_name
   entity_type: 'constants/entity_type'
diff --git a/core/modules/field/src/Tests/Migrate/d6/MigrateFieldInstanceTest.php b/core/modules/field/src/Tests/Migrate/d6/MigrateFieldInstanceTest.php
index afc6703..2609b3a 100644
--- a/core/modules/field/src/Tests/Migrate/d6/MigrateFieldInstanceTest.php
+++ b/core/modules/field/src/Tests/Migrate/d6/MigrateFieldInstanceTest.php
@@ -9,8 +9,10 @@
 
 use Drupal\field\Entity\FieldConfig;
 use Drupal\link\LinkItemInterface;
+use Drupal\migrate\Entity\Migration;
 use Drupal\migrate_drupal\Tests\d6\MigrateDrupal6TestBase;
 use Drupal\node\Entity\Node;
+use Drupal\node\Entity\NodeType;
 
 /**
  * Migrate field instances.
@@ -20,17 +22,11 @@
 class MigrateFieldInstanceTest extends MigrateDrupal6TestBase {
 
   /**
-   * {@inheritdoc}
+   * Tests migration of file variables to file.settings.yml.
    */
-  protected function setUp() {
-    parent::setUp();
+  public function testFieldInstanceMigration() {
     $this->migrateFields();
-  }
 
-  /**
-   * Tests migration of file variables to file.settings.yml.
-   */
-  public function testFieldInstanceSettings() {
     $entity = Node::create(['type' => 'story']);
     // Test a text field.
     $field = FieldConfig::load('node.story.field_test');
@@ -98,4 +94,16 @@ public function testFieldInstanceSettings() {
     $this->assertIdentical([], $entity->field_test_link->options['attributes']);
   }
 
+  /**
+   * Tests migrating fields into non-existent content types.
+   */
+  public function testMigrateFieldIntoUnknownNodeType() {
+    $this->sourceDatabase->delete('node_type')
+      ->condition('type', 'test_planet')
+      ->execute();
+    // The field migrations use the migration plugin to ensure that the node
+    // types exist, so this should produce no failures.
+    $this->migrateFields();
+  }
+
 }
diff --git a/core/modules/file/migration_templates/d6_upload_field_instance.yml b/core/modules/file/migration_templates/d6_upload_field_instance.yml
index 8b53503..5bd7c9a 100644
--- a/core/modules/file/migration_templates/d6_upload_field_instance.yml
+++ b/core/modules/file/migration_templates/d6_upload_field_instance.yml
@@ -11,7 +11,14 @@ source:
       description_field: 1
 process:
   entity_type: 'constants/entity_type'
-  bundle: node_type
+  bundle:
+    -
+      plugin: migration
+      migration: d6_node_type
+      source: node_type
+    -
+      plugin: skip_on_empty
+      method: row
   field_name: 'constants/name'
   settings: 'constants/settings'
   'settings/file_extensions': file_extensions
