Index: plugins/FeedsParser.inc
===================================================================
--- plugins/FeedsParser.inc	(revision 29)
+++ plugins/FeedsParser.inc	(working copy)
@@ -131,7 +131,7 @@
       return $node->uid;
     }
     $item = $result->currentItem();
-    return isset($item[$element_key]) ? $item[$element_key] : '';
+    return $item[$element_key];
   }
 }
 
Index: plugins/FeedsProcessor.inc
===================================================================
--- plugins/FeedsProcessor.inc	(revision 29)
+++ plugins/FeedsProcessor.inc	(working copy)
@@ -391,17 +391,19 @@
         $value = $parser->getSourceElement($source, $result, $mapping['source']);
       }
 
-      // Map the source element's value to the target.
-      if (isset($targets[$this->id][$mapping['target']]) &&
-          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($source, $target_item, $mapping['target'], $value);
+      if (isset($value)) {  // only if a column was present in the feed 
+        // Map the source element's value to the target.
+        if (isset($targets[$this->id][$mapping['target']]) &&
+            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($source, $target_item, $mapping['target'], $value);
+        }
+        else {
+          $this->setTargetElement($source, $target_item, $mapping['target'], $value);
+        }
       }
-      else {
-        $this->setTargetElement($source, $target_item, $mapping['target'], $value);
-      }
     }
     return $target_item;
   }
