Index: plugins/FeedsProcessor.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feeds/plugins/FeedsProcessor.inc,v
retrieving revision 1.8
diff -u -p -r1.8 FeedsProcessor.inc
--- plugins/FeedsProcessor.inc	24 Feb 2010 01:19:33 -0000	1.8
+++ plugins/FeedsProcessor.inc	16 Mar 2010 12:20:12 -0000
@@ -84,8 +84,8 @@ abstract class FeedsProcessor extends Fe
 
     // Static cache $targets as getMappingTargets() may be an expensive method.
     static $targets;
-    if (empty($targets)) {
-      $targets = $this->getMappingTargets();
+    if (empty($targets) || !isset($targets[$this->id])) {
+      $targets[$this->id] = $this->getMappingTargets();
     }
     $parser = feeds_importer($this->id)->parser;
     if (empty($target_item)) {
@@ -104,8 +104,8 @@ abstract class FeedsProcessor extends Fe
     foreach ($this->config['mappings'] as $mapping) {
       $value = $parser->getSourceElement($source_item, $mapping['source']);
 
-      if (is_array($targets[$mapping['target']]) && isset($targets[$mapping['target']]['callback']) && function_exists($targets[$mapping['target']]['callback'])) {
-        $callback = $targets[$mapping['target']]['callback'];
+      if (is_array($targets[$this->id][$mapping['target']]) && isset($targets[$this->id][$mapping['target']]['callback']) && function_exists($targets[$this->id][$mapping['target']]['callback'])) {
+        $callback = $targets[$this->id][$mapping['target']]['callback'];
         $callback($target_item, $mapping['target'], $value);
       }
       else {
