diff --git a/core/modules/config_translation/migrations/d6_profile_field_option_translation.yml b/core/modules/config_translation/migrations/d6_profile_field_option_translation.yml
index 1b96322f50..9207d0df89 100644
--- a/core/modules/config_translation/migrations/d6_profile_field_option_translation.yml
+++ b/core/modules/config_translation/migrations/d6_profile_field_option_translation.yml
@@ -22,13 +22,7 @@ process:
     plugin: static_map
     source: type
     map:
-      checkbox: boolean
-      date: datetime
-      list: text
       selection: list_string
-      textfield: text
-      textarea: text_long
-      url: link
   results:
     plugin: d6_profile_field_option_translation
     source:
diff --git a/core/modules/config_translation/src/Plugin/migrate/source/d6/ProfileFieldTranslation.php b/core/modules/config_translation/src/Plugin/migrate/source/d6/ProfileFieldTranslation.php
index b7b466d6c9..5f395fc8fe 100644
--- a/core/modules/config_translation/src/Plugin/migrate/source/d6/ProfileFieldTranslation.php
+++ b/core/modules/config_translation/src/Plugin/migrate/source/d6/ProfileFieldTranslation.php
@@ -2,7 +2,7 @@
 
 namespace Drupal\config_translation\Plugin\migrate\source\d6;
 
-use Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase;
+use Drupal\user\Plugin\migrate\source\ProfileField;
 
 /**
  * Gets i18n strings profile field source from database.
@@ -12,15 +12,14 @@
  *   source_module = "i18nprofile"
  * )
  */
-class ProfileFieldTranslation extends DrupalSqlBase {
+class ProfileFieldTranslation extends ProfileField {
 
   /**
    * {@inheritdoc}
    */
   public function query() {
-    $query = $this->select('profile_fields', 'pf')
-      ->fields('pf', ['fid', 'name'])
-      ->fields('i18n', ['property'])
+    $query = parent::query();
+    $query->fields('i18n', ['property'])
       ->fields('lt', ['lid', 'translation', 'language'])
       ->isNotNull('language');
     $query->leftJoin('i18n_strings', 'i18n', 'i18n.objectid = pf.name');
@@ -32,23 +31,22 @@ public function query() {
    * {@inheritdoc}
    */
   public function fields() {
-    return [
-      'fid' => $this->t('Profile field ID.'),
+    $fields = [
       'lid' => $this->t('Locales target language ID.'),
       'language' => $this->t('Language for this field.'),
       'translation' => $this->t('Translation of either the title or explanation.'),
     ];
+    return parent::fields() + $fields;
   }
 
   /**
    * {@inheritdoc}
    */
   public function getIds() {
-    $ids['fid']['type'] = 'integer';
     $ids['language']['type'] = 'string';
     $ids['lid']['type'] = 'integer';
     $ids['lid']['alias'] = 'lt';
-    return $ids;
+    return parent::getIds() + $ids;
   }
 
 }
diff --git a/core/modules/migrate_drupal/tests/fixtures/drupal6.php b/core/modules/migrate_drupal/tests/fixtures/drupal6.php
index f9713f9f74..8fabe3e4f1 100644
--- a/core/modules/migrate_drupal/tests/fixtures/drupal6.php
+++ b/core/modules/migrate_drupal/tests/fixtures/drupal6.php
@@ -27930,6 +27930,14 @@
   'i18n_status' => '0',
 ))
 ->values(array(
+  'lid' => '1672',
+  'translation' => 'fr - Type',
+  'language' => 'fr',
+  'plid' => '0',
+  'plural' => '0',
+  'i18n_status' => '0',
+))
+->values(array(
   'lid' => '1692',
   'translation' => 'fr - Talos IV',
   'language' => 'fr',
