diff --git a/plugins/geocoder_handler/google.inc b/plugins/geocoder_handler/google.inc
index 5b1ddb9..272b548 100755
--- a/plugins/geocoder_handler/google.inc
+++ b/plugins/geocoder_handler/google.inc
@@ -134,8 +134,12 @@ function geocoder_google_field($field, $field_item, $options = array()) {
     return geocoder_google($address, $options);
   }
   if ($field['type'] == 'taxonomy_term_reference') {
-    $term = taxonomy_term_load($field_item['tid']);
-    return geocoder_google($term->name);
+    $term_name = $field_item['name'];
+    if (is_numeric($field_item['tid'])) {
+      $term = taxonomy_term_load($field_item['tid']);
+      $term_name = $term->name;
+    }
+    return geocoder_google($term_name);
   }
 }
 
diff --git a/plugins/geocoder_handler/mapquest_nominatim.inc b/plugins/geocoder_handler/mapquest_nominatim.inc
index 0ca3658..754d63b 100644
--- a/plugins/geocoder_handler/mapquest_nominatim.inc
+++ b/plugins/geocoder_handler/mapquest_nominatim.inc
@@ -50,8 +50,12 @@ function geocoder_mapquest_nominatim_field($field, $field_item) {
     return geocoder_mapquest_nomination($address);
   }
   if ($field['type'] == 'taxonomy_term_reference') {
-    $term = taxonomy_term_load($field_item['tid']);
-    return geocoder_mapquest_nominatim($term->name);
+    $term_name = $field_item['name'];
+    if (is_numeric($field_item['tid'])) {
+      $term = taxonomy_term_load($field_item['tid']);
+      $term_name = $term->name;
+    }
+    return geocoder_mapquest_nominatim($term_name);
   }
 }
 
diff --git a/plugins/geocoder_handler/yahoo.inc b/plugins/geocoder_handler/yahoo.inc
index 6b8cb5d..8ab6686 100644
--- a/plugins/geocoder_handler/yahoo.inc
+++ b/plugins/geocoder_handler/yahoo.inc
@@ -54,8 +54,12 @@ function geocoder_yahoo_field($field, $field_item) {
     return geocoder_yahoo($address);
   }
   if ($field['type'] == 'taxonomy_term_reference') {
-    $term = taxonomy_term_load($field_item['tid']);
-    return geocoder_yahoo($term->name);
+    $term_name = $field_item['name'];
+    if (is_numeric($field_item['tid'])) {
+      $term = taxonomy_term_load($field_item['tid']);
+      $term_name = $term->name;
+    }
+    return geocoder_yahoo($term_name);
   }
 }
 
diff --git a/plugins/geocoder_handler/yandex.inc b/plugins/geocoder_handler/yandex.inc
index 3d31f0d..cafeae2 100644
--- a/plugins/geocoder_handler/yandex.inc
+++ b/plugins/geocoder_handler/yandex.inc
@@ -59,8 +59,12 @@ function geocoder_yandex_field($field, $field_item) {
     return geocoder_google($address);
   }
   if ($field['type'] == 'taxonomy_term_reference') {
-    $term = taxonomy_term_load($field_item['tid']);
-    return geocoder_yandex($term->name);
+    $term_name = $field_item['name'];
+    if (is_numeric($field_item['tid'])) {
+      $term = taxonomy_term_load($field_item['tid']);
+      $term_name = $term->name;
+    }
+    return geocoder_yandex($term_name);
   }
 }
 
@@ -86,4 +90,4 @@ function _geocoder_yandex_geometry(&$data) {
   } catch (Exception $e) {
     watchdog_exception('geocoder', $e);
   }
-}
\ No newline at end of file
+}
