diff --git a/components/date.inc b/components/date.inc
index 40d6ded..f9b5fb5 100644
--- a/components/date.inc
+++ b/components/date.inc
@@ -414,7 +414,7 @@ function _webform_csv_headers_date($component, $export_options) {
   $header = array();
   $header[0] = '';
   $header[1] = '';
-  $header[2] = $component['name'];
+  $header[2] = $component['export_name'];
   return $header;
 }
 
diff --git a/components/email.inc b/components/email.inc
index 9a65e7f..beee65c 100644
--- a/components/email.inc
+++ b/components/email.inc
@@ -273,7 +273,7 @@ function _webform_csv_headers_email($component, $export_options) {
   $header = array();
   $header[0] = '';
   $header[1] = '';
-  $header[2] = $component['name'];
+  $header[2] = $component['export_name'];
   return $header;
 }
 
diff --git a/components/file.inc b/components/file.inc
index 4a5654f..25dd0f4 100644
--- a/components/file.inc
+++ b/components/file.inc
@@ -466,7 +466,7 @@ function _webform_csv_headers_file($component, $export_options) {
   $header = array();
   // Two columns in header.
   $header[0] = array('', '');
-  $header[1] = array($component['name'], '');
+  $header[1] = array($component['export_name'], '');
   $header[2] = array(t('Name'), t('Filesize (KB)'));
   return $header;
 }
diff --git a/components/grid.inc b/components/grid.inc
index 0ddcf11..7baf385 100644
--- a/components/grid.inc
+++ b/components/grid.inc
@@ -363,7 +363,7 @@ function _webform_table_grid($component, $value) {
 function _webform_csv_headers_grid($component, $export_options) {
   $header = array();
   $header[0] = array('');
-  $header[1] = array($component['name']);
+  $header[1] = array($component['export_name']);
   $items = _webform_select_options_from_text($component['extra']['questions'], TRUE);
   $count = 0;
   foreach ($items as $key => $item) {
@@ -373,7 +373,7 @@ function _webform_csv_headers_grid($component, $export_options) {
       $header[1][] = '';
     }
     // The value for this option.
-    $header[2][] = $item;
+    $header[2][] = $export_options['select_keys'] ? $key : $item;
     $count++;
   }
 
diff --git a/components/hidden.inc b/components/hidden.inc
index e173c29..7e9d49a 100644
--- a/components/hidden.inc
+++ b/components/hidden.inc
@@ -161,13 +161,13 @@ function _webform_table_hidden($component, $value) {
 }
 
 /**
- * Implements _webform_csv_data_component().
+ * Implements _webform_csv_headers_component().
  */
 function _webform_csv_headers_hidden($component, $export_options) {
   $header = array();
   $header[0] = '';
   $header[1] = '';
-  $header[2] = $component['name'];
+  $header[2] = $component['export_name'];
   return $header;
 }
 
diff --git a/components/number.inc b/components/number.inc
index 00bc7ab..8c77a6d 100644
--- a/components/number.inc
+++ b/components/number.inc
@@ -501,7 +501,7 @@ function _webform_csv_headers_number($component, $export_options) {
   $header = array();
   $header[0] = '';
   $header[1] = '';
-  $header[2] = $component['name'];
+  $header[2] = $component['export_name'];
   return $header;
 }
 
diff --git a/components/select.inc b/components/select.inc
index aeeb41d..c984e87 100644
--- a/components/select.inc
+++ b/components/select.inc
@@ -705,10 +705,15 @@ function _webform_csv_headers_select($component, $export_options) {
 
   if ($component['extra']['multiple'] && $export_options['select_format'] == 'separate') {
     $headers[0][] = '';
-    $headers[1][] = $component['name'];
+    $headers[1][] = $component['export_name'];
     $items = _webform_select_options($component, TRUE, FALSE);
     if ($component['extra']['other_option']) {
-      $other_label = !empty($component['extra']['other_text']) ? check_plain($component['extra']['other_text']) : t('Other...');
+      if ($export_options['select_keys']) {
+        $other_label = $component['export_name'] . '_other';
+      }
+      else {
+        $other_label = !empty($component['extra']['other_text']) ? check_plain($component['extra']['other_text']) : t('Other...');
+      }
       $items[$other_label] = $other_label;
     }
     $count = 0;
@@ -730,7 +735,7 @@ function _webform_csv_headers_select($component, $export_options) {
   else {
     $headers[0][] = '';
     $headers[1][] = '';
-    $headers[2][] = $component['name'];
+    $headers[2][] = $component['export_name'];
   }
   return $headers;
 }
diff --git a/components/textarea.inc b/components/textarea.inc
index eb56ec7..671a3ec 100644
--- a/components/textarea.inc
+++ b/components/textarea.inc
@@ -205,7 +205,7 @@ function _webform_csv_headers_textarea($component, $export_options) {
   $header = array();
   $header[0] = '';
   $header[1] = '';
-  $header[2] = $component['name'];
+  $header[2] = $component['export_name'];
   return $header;
 }
 
diff --git a/components/textfield.inc b/components/textfield.inc
index 11e11ab..5e69ad6 100644
--- a/components/textfield.inc
+++ b/components/textfield.inc
@@ -242,7 +242,7 @@ function _webform_csv_headers_textfield($component, $export_options) {
   $header = array();
   $header[0] = '';
   $header[1] = '';
-  $header[2] = $component['name'];
+  $header[2] = $component['export_name'];
   return $header;
 }
 
diff --git a/components/time.inc b/components/time.inc
index f1489a9..cfe0a9a 100644
--- a/components/time.inc
+++ b/components/time.inc
@@ -374,7 +374,7 @@ function _webform_csv_headers_time($component, $export_options) {
   $header = array();
   $header[0] = '';
   $header[1] = '';
-  $header[2] = $component['name'];
+  $header[2] = $component['export_name'];
   return $header;
 }
 
diff --git a/includes/webform.report.inc b/includes/webform.report.inc
index 8ceb920..5a5f8b3 100644
--- a/includes/webform.report.inc
+++ b/includes/webform.report.inc
@@ -728,6 +728,12 @@ function webform_results_export($node, $format = 'delimited', $options = array()
 
       // Let each component determine its headers.
       if (webform_component_feature($component['type'], 'csv')) {
+        if ($options['select_keys']) {
+          $component['export_name'] = $component['form_key'];
+        }
+        else {
+          $component['export_name'] = $component['name'];
+        }
         $component_header = (array) webform_component_invoke($component['type'], 'csv_headers', $component, $options);
         $header[0] = array_merge($header[0], (array) $component_header[0]);
         $header[1] = array_merge($header[1], (array) $component_header[1]);
