diff --git a/lib/geocoder/results/nominatim.rb b/lib/geocoder/results/nominatim.rb
index 395115d3bb88e49be85a37d6b64a7dbfbf0667d5..561d3c84fa6b5b204fff1a9bfc8a5bc17dc212ed 100644
--- a/lib/geocoder/results/nominatim.rb
+++ b/lib/geocoder/results/nominatim.rb
@@ -18,11 +18,17 @@ module Geocoder::Result
     end
 
     def street
-      @data['address']['road']
+      %w[road pedestrian highway].each do |key|
+        return @data['address'][key] if @data['address'].key?(key)
+      end
+      return nil
     end
 
     def city
-      @data['address']['city']
+      %w[city town village hamlet].each do |key|
+        return @data['address'][key] if @data['address'].key?(key)
+      end
+      return nil
     end
 
     def village