diff --git a/geocoder.widget.inc b/geocoder.widget.inc
index 16c21af..02e69b8 100644
--- a/geocoder.widget.inc
+++ b/geocoder.widget.inc
@@ -339,14 +339,15 @@ function geocoder_widget_get_field_value($entity_type, $field_instance, $entity
           catch (Exception $e) {
             $geometry = FALSE;
 
-            $uri_info = entity_uri($entity_type, $entity);
-            list($id, , $bundle) = entity_extract_ids($entity_type, $entity);
-            $label = t('View offending @entity_type (@bundle # @id)', array(
-              '@entity_type' => $entity_type,
-              '@bundle' => $bundle,
-              '@id' => $id,
-            ));
-            watchdog_exception('geocoder', $e, NULL, array(), WATCHDOG_WARNING, l($label, $uri_info['path'], $uri_info));
+            if ($uri_info = entity_uri($entity_type, $entity)) {
+              list($id, , $bundle) = entity_extract_ids($entity_type, $entity);
+              $label = t('View offending @entity_type (@bundle # @id)', array(
+                '@entity_type' => $entity_type,
+                '@bundle' => $bundle,
+                '@id' => $id,
+              ));
+              watchdog_exception('geocoder', $e, NULL, [], WATCHDOG_WARNING, l($label, $uri_info['path'], $uri_info));
+            }
           }
 
           // Save result persistently.
