diff --git a/lib/geocoder/lookups/base.rb b/lib/geocoder/lookups/base.rb
index 5c880fdb4834c8ecbd2ac96cc6e2ba841d07faa8..8441efe1931f8e7e9ea34756655477863de7a737 100644
--- a/lib/geocoder/lookups/base.rb
+++ b/lib/geocoder/lookups/base.rb
@@ -134,7 +134,7 @@ module Geocoder
       # Does the given string look like latitude/longitude coordinates?
       #
       def coordinates?(value)
-        !!value.to_s.match(/^[0-9\.\-]+, *[0-9\.\-]+$/)
+        value.is_a?(String) and !!value.to_s.match(/^-?[0-9\.]+, *-?[0-9\.]+$/)
       end
 
       ##