diff --git a/plugins/FeedsArrayParser.inc b/plugins/FeedsArrayParser.inc
index a337584..23ea626 100644
--- a/plugins/FeedsArrayParser.inc
+++ b/plugins/FeedsArrayParser.inc
@@ -16,7 +16,6 @@ class FeedsArrayParser extends FeedsParser {
     if(!$array) {
       $array = array();
     }
-
     // Report progress.
     $state->total = count($array);
     $state->pointer = key($array);
@@ -38,14 +37,19 @@ class FeedsArrayParser extends FeedsParser {
    * Override parent::getSourceElement() to use only lower keys.
    */
   public function getSourceElement(FeedsSource $source, FeedsParserResult $result, $element_key) {
-    return parent::getSourceElement($source, $result, drupal_strtolower($element_key));
+    if (!$this->config['allow_mixed_case']) {
+      $element_key = drupal_strtolower($element_key);
+    }
+    return parent::getSourceElement($source, $result, $element_key);
   }
 
   /**
    * Define defaults.
    */
   public function sourceDefaults() {
-    return array();
+    return array(
+      'allow_mixed_case' => $this->config['allow_mixed_case'],
+    );
   }
 
   /**
@@ -73,14 +77,22 @@ class FeedsArrayParser extends FeedsParser {
    * Define default configuration.
    */
   public function configDefaults() {
-    return array();
+    return array(
+      'allow_mixed_case' => FALSE,
+    );
   }
 
   /**
    * Build configuration form.
    */
   public function configForm(&$form_state) {
-    return array();
+    $form = $this->sourceForm($this->config);
+    $form['allow_mixed_case'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Allow mixed case in array keys?'),
+      '#default_value' => $this->config['allow_mixed_case'],
+    );
+    return $form;
   }
 
   public function getTemplate() {
