diff --git a/src/Plugin/migrate/process/Merge.php b/src/Plugin/migrate/process/Merge.php
index d6b32bbc0cbbf4a6979d0c523d9492de006d3f49..b19946a630716dad3d281adb28cb987e800c8e91 100644
--- a/src/Plugin/migrate/process/Merge.php
+++ b/src/Plugin/migrate/process/Merge.php
@@ -60,9 +60,10 @@ class Merge extends ProcessPluginBase {
       if (!is_array($item)) {
         throw new MigrateException(sprintf('Merge process failed for destination property (%s): index (%s) in the source value is not an array that can be merged.', $destination_property, $i));
       }
-      $new_value = array_merge($new_value, $item);
+      $new_value[] = $item;
     }
-    return $new_value;
+
+    return array_merge(...$new_value);
   }
 
 }