diff --git a/geocoder.module b/geocoder.module
index a1ee136..2f99acd 100644
--- a/geocoder.module
+++ b/geocoder.module
@@ -304,10 +304,10 @@ function geocoder_widget_validate_walkthrough(&$field, $form_state, $parent = NU
   if (is_array($field)) {
     // Set the language based on the form state.
     $lang = isset($form_state['values']['language']) ? $form_state['values']['language'] : LANGUAGE_NONE;
-    
-    // If default language is set but content isnt translatable it is still 'und' on the fields. 
+
+    // If default language is set but content isnt translatable it is still 'und' on the fields.
     if (!isset($field[$lang])) $lang = LANGUAGE_NONE;
-    
+
     if ((!empty($field[$lang][0]['geocoder_source']) && !empty($field[$lang][0]['geocoder_target']) && !empty($field[$lang][0]['geocoder_handler']))) {
       // We found a source/target/handler set, let's do this.
 
@@ -335,9 +335,9 @@ function geocoder_widget_validate_walkthrough(&$field, $form_state, $parent = NU
           }
         }
       }
+      // To avoid any conflicts, default to text.
+      $field_object = isset($field_info) ? $field_info : array('type' => 'text');
 
-      // To avoid any conflicts, just make it text :)
-      $field_object = array('type' => 'text');
       if (isset($main) && empty($values)) {
         $item = array('value' => $main);
         try {
@@ -355,11 +355,6 @@ function geocoder_widget_validate_walkthrough(&$field, $form_state, $parent = NU
       }
       else {
         foreach ($values as $delta => $value) {
-          // Add the title to the beginning if it exists
-          if (isset($main)) {
-            $value = array_unshift($value, $main);
-          }
-          $item = array('value' => implode(' ', $value));
           try {
             $geometry = call_user_func($handler['field_callback'], $field_object, $item);
           }
