diff --git a/geocoder.module b/geocoder.module
index eab57bf..b5f5dec 100644
--- a/geocoder.module
+++ b/geocoder.module
@@ -323,15 +323,16 @@ function geocoder_widget_validate_walkthrough(&$field, $form_state, $parent = NU
         else {
           // get the field info
           $field_info = field_info_field($source);
-          if (isset($parent) && isset($form_state['values'][$parent][$source][$lang])) {
-            foreach ($form_state['values'][$parent][$source][$lang] as $delta => $item) {
-              $values[$delta][] = geocoder_widget_parse_field($item, $field_info['type']);
-            }
+		  
+          if (isset($parent)) {
+            $source_value = $form_state['values'][$parent][$source];
+          } else {
+            $source_value = $form_state['values'][$source];
           }
-          elseif (!isset($parent) && isset($form_state['values'][$source][$lang])) {
-            foreach ($form_state['values'][$source][$lang] as $delta => $item) {
-              $values[$delta][] = geocoder_widget_parse_field($item, $field_info['type']);
-            }
+          $source_value = array_shift($source_value);
+		  
+          foreach ($source_value as $delta => $item) {
+            $values[$delta][] = geocoder_widget_parse_field($item, $field_info['type']);
           }
         }
       }
