--- feeds_tamper.module.orig	2013-03-10 21:22:52.000000000 +0200
+++ feeds_tamper.module	2013-03-11 15:38:53.131700603 +0200
@@ -34,23 +34,34 @@
   $blank_mappings = array();
 
   foreach ($importer_instances as $element_key => $instance) {
-    if (strpos($element_key, 'Blank source ') === 0) {
-      $blank_mappings[] = $element_key;
-    }
+    $element_key_lowercase = drupal_strtolower($element_key);
     // Special case for FeedsCSVParser.
-    elseif ($csv) {
+    if ($csv) {
       unset($importer_instances[$element_key]);
-      $importer_instances[drupal_strtolower($element_key)] = $instance;
+      $importer_instances[$element_key_lowercase] = $instance;
+    }
+
+    if (strpos($element_key, 'Blank source ') === 0) {
+      $blank_mappings[] = $element_key_lowercase;
     }
   }
 
+  $mappings_uniq_names = array();
+  foreach($mappings as $maps_item) {
+    $mappings_uniq_names[] = drupal_strtolower($maps_item['source']);
+  }
+  $mappings_uniq_names = array_unique($mappings_uniq_names);
+
   $plugins = feeds_tamper_get_plugins();
   foreach ($result->items as $item_key => &$item) {
     // Add the blank sources to the item.
     foreach ($blank_mappings as $blank) {
       $item[$blank] = '';
     }
-    foreach ($importer_instances as $element_key => $instances) {
+
+    foreach ($mappings_uniq_names as $element_key) {
+      $instances = $importer_instances[$element_key];
+
       if (isset($item[$element_key])) {
         foreach ($instances as $instance) {
           $plugin = $plugins[$instance->plugin_id];
