diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/CckFieldValues.php b/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/CckFieldValues.php
index 60b5fda..5e606e2 100644
--- a/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/CckFieldValues.php
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/CckFieldValues.php
@@ -115,7 +115,7 @@ public function prepareRow(Row $row) {
           $source = $row->getSource();
           // We diff the results with the source to find any field columns
           // in the content type's main table.
-          $new_fields = array_diff($results, $source);
+          $new_fields = array_diff_key($results, $source);
           foreach ($new_fields as $key => $value) {
             $row->setSourceProperty($key, $value);
           }
diff --git a/core/modules/migrate_drupal/src/Tests/Dump/Drupal6FieldInstance.php b/core/modules/migrate_drupal/src/Tests/Dump/Drupal6FieldInstance.php
index 65ae0ac..dafb18f 100644
--- a/core/modules/migrate_drupal/src/Tests/Dump/Drupal6FieldInstance.php
+++ b/core/modules/migrate_drupal/src/Tests/Dump/Drupal6FieldInstance.php
@@ -790,6 +790,70 @@ public function load() {
       )),
       'description' => 'An example multi-valued decimal field.',
     ))
+    ->values(array(
+      'field_name' => 'field_test_identical1',
+      'type_name' => 'story',
+      'weight' => 2,
+      'label' => 'Integer Field',
+      'widget_type' => 'number',
+      'widget_settings' => 'a:2:{s:13:"default_value";a:1:{i:0;a:2:{s:5:"value";s:0:"";s:14:"_error_element";s:41:"default_value_widget][field_int][0][value";}}s:17:"default_value_php";N;}',
+      'display_settings' => serialize(array(
+        'weight' => 2,
+        'parent' => '',
+        'label' => array(
+          'format' => 'above',
+        ),
+        'teaser' => array(
+          'format' => 'unformatted',
+          'exclude' => 0,
+        ),
+        'full' => array(
+          'format' => 'us_0',
+          'exclude' => 0,
+        ),
+        4 => array(
+          'format' => 'unformatted',
+          'exclude' => 0,
+        ),
+        5 => array(
+          'format' => 'default',
+          'exclude' => 1,
+        ),
+      )),
+      'description' => 'An example integer field.',
+    ))
+    ->values(array(
+      'field_name' => 'field_test_identical2',
+      'type_name' => 'story',
+      'weight' => 2,
+      'label' => 'Integer Field',
+      'widget_type' => 'number',
+      'widget_settings' => 'a:2:{s:13:"default_value";a:1:{i:0;a:2:{s:5:"value";s:0:"";s:14:"_error_element";s:41:"default_value_widget][field_int][0][value";}}s:17:"default_value_php";N;}',
+      'display_settings' => serialize(array(
+        'weight' => 2,
+        'parent' => '',
+        'label' => array(
+          'format' => 'above',
+        ),
+        'teaser' => array(
+          'format' => 'unformatted',
+          'exclude' => 0,
+        ),
+        'full' => array(
+          'format' => 'us_0',
+          'exclude' => 0,
+        ),
+        4 => array(
+          'format' => 'unformatted',
+          'exclude' => 0,
+        ),
+        5 => array(
+          'format' => 'default',
+          'exclude' => 1,
+        ),
+      )),
+      'description' => 'An example integer field.',
+    ))
     ->execute();
 
     // Create the field table.
@@ -1082,6 +1146,38 @@ public function load() {
       'db_columns' => 'a:1:{s:5:"value";a:5:{s:4:"type";s:7:"numeric";s:9:"precision";s:2:"10";s:5:"scale";s:1:"2";s:8:"not null";b:0;s:8:"sortable";b:1;}}',
       'active' => 1,
     ))
+    ->values(array(
+      'field_name' => 'field_test_identical1',
+      'module' => 'number',
+      'type' => 'number_integer',
+      'global_settings' => '',
+      'multiple' => 0,
+      'db_storage' => 1,
+      'db_columns' => serialize(array(
+        'value' => array(
+          'type' => 'int',
+          'not null' => FALSE,
+          'sortable' => TRUE,
+        ),
+      )),
+      'active' => 1,
+    ))
+    ->values(array(
+      'field_name' => 'field_test_identical2',
+      'module' => 'number',
+      'type' => 'number_integer',
+      'global_settings' => '',
+      'multiple' => 0,
+      'db_storage' => 1,
+      'db_columns' => serialize(array(
+        'value' => array(
+          'type' => 'int',
+          'not null' => FALSE,
+          'sortable' => TRUE,
+        ),
+      )),
+      'active' => 1,
+    ))
     ->execute();
 
     $this->createTable('content_field_test', array(
diff --git a/core/modules/migrate_drupal/src/Tests/Dump/Drupal6Node.php b/core/modules/migrate_drupal/src/Tests/Dump/Drupal6Node.php
index cc5374b..6b874a4 100644
--- a/core/modules/migrate_drupal/src/Tests/Dump/Drupal6Node.php
+++ b/core/modules/migrate_drupal/src/Tests/Dump/Drupal6Node.php
@@ -350,6 +350,18 @@ public function load() {
           'unsigned' => FALSE,
           'not null' => FALSE
         ),
+        'field_test_identical1_value' => array(
+          'description' => 'Test field column.',
+          'type' => 'int',
+          'unsigned' => TRUE,
+          'not null' => FALSE
+        ),
+        'field_test_identical2_value' => array(
+          'description' => 'Test field column.',
+          'type' => 'int',
+          'unsigned' => TRUE,
+          'not null' => FALSE
+        ),
       ),
       'primary key' => array('vid'),
     ));
@@ -361,6 +373,8 @@ public function load() {
         'uid',
         'field_test_three_value',
         'field_test_integer_selectlist_value',
+        'field_test_identical1_value',
+        'field_test_identical2_value'
       ))
       ->values(array(
         'nid' => 1,
@@ -368,6 +382,8 @@ public function load() {
         'uid' => 1,
         'field_test_three_value' => '42.42',
         'field_test_integer_selectlist_value' => '3412',
+        'field_test_identical1_value' => 1,
+        'field_test_identical2_value' => 1,
       ))
       ->execute();
     $this->setModuleVersion('content', 6001);
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldValuesTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldValuesTest.php
index 13bf404..9d21794 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldValuesTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldValuesTest.php
@@ -83,6 +83,28 @@ protected function setUp() {
       'bundle' => 'test_planet',
     ))->save();
 
+    entity_create('field_storage_config', array(
+      'entity_type' => 'node',
+      'field_name' => 'field_test_identical1',
+      'type' => 'integer',
+    ))->save();
+    entity_create('field_config', array(
+      'entity_type' => 'node',
+      'field_name' => 'field_test_identical1',
+      'bundle' => 'story',
+    ))->save();
+
+    entity_create('field_storage_config', array(
+      'entity_type' => 'node',
+      'field_name' => 'field_test_identical2',
+      'type' => 'integer',
+    ))->save();
+    entity_create('field_config', array(
+      'entity_type' => 'node',
+      'field_name' => 'field_test_identical2',
+      'bundle' => 'story',
+    ))->save();
+
     // Add some id mappings for the dependant migrations.
     $id_mappings = array(
       'd6_field_formatter_settings' => array(
@@ -118,6 +140,8 @@ public function testCckFields() {
     $this->assertEqual($node->field_test_two[1]->value, 20, 'Multi field second value is correct.');
     $this->assertEqual($node->field_test_three->value, '42.42', 'Single field second value is correct.');
     $this->assertEqual($node->field_test_integer_selectlist[0]->value, '3412', 'Integer select list value is correct');
+    $this->assertEqual($node->field_test_identical1->value, '1', 'Integer value is correct');
+    $this->assertEqual($node->field_test_identical2->value, '1', 'Integer value is correct');
 
     $planet_node = Node::load(3);
     $this->assertEqual($planet_node->field_multivalue->value, 33);
