diff --git a/lib/geocoder/lookups/freegeoip.rb b/lib/geocoder/lookups/freegeoip.rb
index d9112bf8f3cf2559a8f7074d1f95aa589a47dcf1..63599a487cf768bf7d56033dcd108da17752793f 100644
--- a/lib/geocoder/lookups/freegeoip.rb
+++ b/lib/geocoder/lookups/freegeoip.rb
@@ -11,7 +11,8 @@ module Geocoder::Lookup
       return [reserved_result(query)] if loopback_address?(query)
       begin
         return (doc = fetch_data(query, reverse)) ? [doc] : []
-      rescue StandardError # Freegeoip.net returns HTML on bad request
+      rescue StandardError => err # Freegeoip.net returns HTML on bad request
+        raise_error(err)
         return []
       end
     end