diff --git a/core/modules/user/migration_templates/d6_profile_values.yml b/core/modules/user/migration_templates/d6_profile_values.yml
index d2b81a5..9cd4a6b 100644
--- a/core/modules/user/migration_templates/d6_profile_values.yml
+++ b/core/modules/user/migration_templates/d6_profile_values.yml
@@ -2,6 +2,8 @@ id: d6_profile_values
 label: Drupal 6 profile values
 migration_tags:
   - Drupal 6
+builder:
+  plugin: d6_profile_values
 source:
   plugin: d6_profile_field_values
 load:
diff --git a/core/modules/user/src/Plugin/migrate/builder/d6/ProfileValues.php b/core/modules/user/src/Plugin/migrate/builder/d6/ProfileValues.php
new file mode 100644
index 0000000..af0b39c
--- /dev/null
+++ b/core/modules/user/src/Plugin/migrate/builder/d6/ProfileValues.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\user\Plugin\migrate\builder\d6\ProfileValues.
+ */
+
+namespace Drupal\user\Plugin\migrate\builder\d6;
+
+use Drupal\migrate\Entity\Migration;
+use Drupal\migrate\Plugin\migrate\builder\BuilderBase;
+
+/**
+ * @PluginID("d6_profile_values")
+ */
+class ProfileValues extends BuilderBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildMigrations(array $template) {
+    $migration = Migration::create($template);
+
+    foreach ($this->getSourcePlugin('d6_profile_field') as $field) {
+      $migration->setProcessOfProperty($field->getSourceProperty('name'), $field->getSourceProperty('name'));
+    }
+
+    return [$migration];
+  }
+
+}
diff --git a/core/modules/user/src/Tests/Migrate/ProfileValuesBuilderTest.php b/core/modules/user/src/Tests/Migrate/ProfileValuesBuilderTest.php
new file mode 100644
index 0000000..a7f152d
--- /dev/null
+++ b/core/modules/user/src/Tests/Migrate/ProfileValuesBuilderTest.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\user\Tests\Migrate\ProfileValuesBuilderTest.
+ */
+
+namespace Drupal\user\Tests\Migrate;
+
+use Drupal\migrate_drupal\Tests\d6\MigrateDrupal6TestBase;
+
+/**
+ * @group user
+ */
+class ProfileValuesBuilderTest extends MigrateDrupal6TestBase {
+
+  public static $modules = ['migrate', 'migrate_drupal', 'user'];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    $this->loadDumps(['ProfileFields.php', 'ProfileValues.php']);
+  }
+
+  /**
+   * Tests that profile fields are merged into the d6_profile_values migration's
+   * process pipeline by the d6_profile_values builder.
+   */
+  public function testBuilder() {
+    $template = \Drupal::service('migrate.template_storage')
+      ->getTemplateByName('d6_profile_values');
+    /** @var \Drupal\migrate\Entity\MigrationInterface[] $migrations */
+    $migrations = \Drupal::service('plugin.manager.migrate.builder')
+      ->createInstance('d6_profile_values')
+      ->buildMigrations($template);
+
+    $this->assertIdentical('d6_profile_values', $migrations[0]->id());
+    $process = $migrations[0]->getProcess();
+    $this->assertIdentical('profile_color', $process['profile_color'][0]['source']);
+  }
+
+}
