diff --git a/lib/geocoder/lookups/location_iq.rb b/lib/geocoder/lookups/location_iq.rb
index 3773d4063a2770781f75c9447ebd2487f00ac1c3..d9fb0659bc8d49bb41cb487a02fb1a6b0ebabccc 100644
--- a/lib/geocoder/lookups/location_iq.rb
+++ b/lib/geocoder/lookups/location_iq.rb
@@ -13,15 +13,15 @@ module Geocoder::Lookup
     
     def query_url(query)
       method = query.reverse_geocode? ? "reverse" : "search"
-      "#{protocol}://locationiq.org/v1/#{method}.php?key=#{configuration.api_key}&" + url_query_string(query)
-    end
-
-    def supported_protocols
-      [:http, :https]
+      "#{protocol}://#{configured_host}/v1/#{method}.php?key=#{configuration.api_key}&" + url_query_string(query)
     end
 
     private
 
+    def configured_host
+      configuration[:host] || "locationiq.org"
+    end
+
     def results(query)
       return [] unless doc = fetch_data(query)
 
diff --git a/lib/geocoder/lookups/nominatim.rb b/lib/geocoder/lookups/nominatim.rb
index 18a203001e95a552703c4d5a52707c10b6614467..cee363a53514ea8e8626db7fd6d4151895b1ca0f 100644
--- a/lib/geocoder/lookups/nominatim.rb
+++ b/lib/geocoder/lookups/nominatim.rb
@@ -14,15 +14,23 @@ module Geocoder::Lookup
 
     def query_url(query)
       method = query.reverse_geocode? ? "reverse" : "search"
-      host = configuration[:host] || "nominatim.openstreetmap.org"
-      "#{protocol}://#{host}/#{method}?" + url_query_string(query)
+      "#{protocol}://#{configured_host}/#{method}?" + url_query_string(query)
     end
 
-    def supported_protocols
-      [:https]
+    private # ---------------------------------------------------------------
+
+    def configured_host
+      configuration[:host] || "nominatim.openstreetmap.org"
     end
 
-    private # ---------------------------------------------------------------
+    def use_ssl?
+      # nominatim.openstreetmap.org redirects HTTP requests to HTTPS
+      if configured_host == "nominatim.openstreetmap.org"
+        true
+      else
+        super
+      end
+    end
 
     def results(query)
       return [] unless doc = fetch_data(query)
diff --git a/test/unit/lookups/nominatim_test.rb b/test/unit/lookups/nominatim_test.rb
index c75cf45893ccf4b9f70a40047940b42a990a7a27..27d2d1d707e7685d99bc28c1bb4e91cf8c44e0cc 100644
--- a/test/unit/lookups/nominatim_test.rb
+++ b/test/unit/lookups/nominatim_test.rb
@@ -37,7 +37,7 @@ class NominatimTest < GeocoderTestCase
   def test_host_configuration
     Geocoder.configure(nominatim: {host: "local.com"})
     query = Geocoder::Query.new("Bluffton, SC")
-    assert_match %r(https://local\.com), query.url
+    assert_match %r(http://local\.com), query.url
   end
 
   def test_raises_exception_when_over_query_limit