diff --git a/lib/geocoder.rb b/lib/geocoder.rb
index bbcb03af6040f5a2321b2697a03faf343bb695a0..3c8a5d5ed181a155d0d47b540f7c8cdba271ec89 100644
--- a/lib/geocoder.rb
+++ b/lib/geocoder.rb
@@ -93,12 +93,11 @@ module Geocoder
   # Fetch and assign +latitude+ and +longitude+.
   #
   def fetch_and_assign_coordinates
-    if c = fetch_coordinates(self.class.geocoder_method_name)
-      self.latitude = c[0]
-      self.longitude = c[1]
-      return c
-    else
-      return nil
+    returning fetch_coordinates do |c|
+      unless c.blank?
+        self.latitude = c[0]
+        self.longitude = c[1]
+      end
     end
   end