diff --git a/plugins/FeedsCSVParser.inc b/plugins/FeedsCSVParser.inc
index 704444055d89e04d3543dbb34bc416164fca1c4b..1f879d38adceca4828d338a67feb16433949842e 100644
--- a/plugins/FeedsCSVParser.inc
+++ b/plugins/FeedsCSVParser.inc
@@ -127,6 +127,7 @@ class FeedsCSVParser extends FeedsParser {
         $uniques[] = check_plain($mapping['source']);
       }
     }
+    $sources = array_unique($sources);
 
     $output = t('Import !csv_files with one or more of these columns: !columns.', array('!csv_files' => l(t('CSV files'), 'http://en.wikipedia.org/wiki/Comma-separated_values'), '!columns' => implode(', ', $sources)));
     $items = array();
@@ -208,6 +209,11 @@ class FeedsCSVParser extends FeedsParser {
     $mappings = feeds_importer($this->id)->processor->config['mappings'];
     $sources = $uniques = array();
     foreach ($mappings as $mapping) {
+      if (in_array(check_plain($mapping['source']), $uniques) || in_array(check_plain($mapping['source']), $sources)) {
+        // Skip columns we've already seen.
+        continue;
+      }
+
       if (!empty($mapping['unique'])) {
         $uniques[] = check_plain($mapping['source']);
       }