diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 88588b622b354cc206953b26413af4f0c569c5e1..80511169317d1a272910d9a125402f4aa86eb603 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -3,6 +3,8 @@
 Feeds 6.x 1.0 XXXXXXXXXXXXXXXXXX
 --------------------------------
 
+- #878002 Will White, David Goode: Support multiple sources per mapping target
+  in FeedsDataProcessor.
 - #904804 alex_b: Support exportable vocabularies.
 - #836876 rsoden, Will White, alex_b: Add simple georss support to Common
   Syndication Parser.
diff --git a/plugins/FeedsDataProcessor.inc b/plugins/FeedsDataProcessor.inc
index 9efebab7570933d8fb0e9dfc657645852725cec3..fb6a2be03797b1925babdcb650698c4cc42d5282 100644
--- a/plugins/FeedsDataProcessor.inc
+++ b/plugins/FeedsDataProcessor.inc
@@ -205,6 +205,9 @@ class FeedsDataProcessor extends FeedsProcessor {
    * Set target element, bring element in a FeedsDataHandler format.
    */
   public function setTargetElement(&$target_item, $target_element, $value) {
+    if (empty($value)) {
+      return;
+    }
     if (strpos($target_element, '.')) {
 
       /**
@@ -226,7 +229,12 @@ class FeedsDataProcessor extends FeedsProcessor {
           $field => $v,
         );
       }
-      $target_item['#'. $table] = $values;
+      if (is_array($target_item["#$table"])) {
+        $target_item["#$table"] = array_merge($target_item["#$table"], $values);
+      }
+      else {
+        $target_item["#$table"] = $values;
+      }
     }
     else {
       $target_item[$target_element] = $value;