diff --git a/lib/geocoder/lookup.rb b/lib/geocoder/lookup.rb
index 4329b06d7e86f63373b10523c8eb23aa879fd08f..a81d4dfc1f06ffeda84400efa3055d211fbe1393 100644
--- a/lib/geocoder/lookup.rb
+++ b/lib/geocoder/lookup.rb
@@ -58,15 +58,7 @@ module Geocoder
     #
     def raw_response(query, reverse = false)
       return nil if query.blank?
-
-      # name parameter based on forward/reverse geocoding
-      param = reverse ? :latlng : :address
-
-      # build URL
-      params = { param => query, :sensor  => "false" }
-      url = "http://maps.google.com/maps/api/geocode/json?" + params.to_query
-
-      # query geocoder and make sure it responds quickly
+      url = query_url(query, reverse)
       begin
         resp = nil
         timeout(3) do
@@ -76,5 +68,13 @@ module Geocoder
         return nil
       end
     end
+
+    def query_url(query, reverse = false)
+      params = {
+        (reverse ? :latlng : :address) => query,
+        :sensor => "false"
+      }
+      "http://maps.google.com/maps/api/geocode/json?" + params.to_query
+    end
   end
 end