diff --git a/core/modules/migrate_drupal/tests/fixtures/drupal6.php b/core/modules/migrate_drupal/tests/fixtures/drupal6.php
index 347b2f2..f998fd0 100644
--- a/core/modules/migrate_drupal/tests/fixtures/drupal6.php
+++ b/core/modules/migrate_drupal/tests/fixtures/drupal6.php
@@ -44599,7 +44599,7 @@
   'login' => '1391152254',
   'status' => '1',
   'timezone' => '7200',
-  'language' => 'ro',
+  'language' => 'zu',
   'picture' => 'core/modules/simpletest/files/image-test.png',
   'init' => 'roe@example.com',
   'data' => 'a:2:{s:7:"contact";i:0;s:13:"form_build_id";s:48:"form-1TxjbL2_1dEHIxEu2Db6OvEsSN1x9ILH1VCgnvsO6LE";}',
diff --git a/core/modules/user/migration_templates/d6_user.yml b/core/modules/user/migration_templates/d6_user.yml
index bf6ec2a..2ea1a93 100644
--- a/core/modules/user/migration_templates/d6_user.yml
+++ b/core/modules/user/migration_templates/d6_user.yml
@@ -17,6 +17,7 @@ process:
     plugin: user_update_7002
     source: timezone
   preferred_langcode: language
+  langcode: language
   init: init
   roles:
     plugin: migration
@@ -34,6 +35,7 @@ migration_dependencies:
   required:
     - d6_user_role
   optional:
+    - language
     - d6_user_picture_file
     - user_picture_entity_display
     - user_picture_entity_form_display
diff --git a/core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserProfileValuesTest.php b/core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserProfileValuesTest.php
index 978c0bf..e734517 100644
--- a/core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserProfileValuesTest.php
+++ b/core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserProfileValuesTest.php
@@ -15,10 +15,16 @@ class MigrateUserProfileValuesTest extends MigrateDrupal6TestBase {
   /**
    * {@inheritdoc}
    */
+  public static $modules = ['language'];
+
+  /**
+   * {@inheritdoc}
+   */
   protected function setUp() {
     parent::setUp();
 
     $this->executeMigrations([
+      'language',
       'user_profile_field',
       'user_profile_field_instance',
       'user_profile_entity_display',
diff --git a/core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserTest.php b/core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserTest.php
index 9317834..54f9a9c 100644
--- a/core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserTest.php
+++ b/core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserTest.php
@@ -22,6 +22,11 @@ class MigrateUserTest extends MigrateDrupal6TestBase {
   /**
    * {@inheritdoc}
    */
+  public static $modules = ['language'];
+
+  /**
+   * {@inheritdoc}
+   */
   protected function setUp() {
     parent::setUp();
 
@@ -60,6 +65,7 @@ protected function setUp() {
     file_put_contents($file->getFileUri(), file_get_contents('core/modules/simpletest/files/image-2.jpg'));
     $file->save();
 
+    $this->executeMigration('language');
     $this->migrateUsers();
   }
 
@@ -103,6 +109,7 @@ public function testUser() {
       // user preferred language is not configured on the site. We just want to
       // test if the value was imported correctly.
       $this->assertIdentical($source->language, $user->preferred_langcode->value);
+      $this->assertIdentical($source->language, $user->langcode->value);
       $expected_timezone_name = $source->timezone_name ?: $this->config('system.date')->get('timezone.default');
       $this->assertIdentical($expected_timezone_name, $user->getTimeZone());
       $this->assertIdentical($source->init, $user->getInitialEmail());
