diff --git a/lib/geocoder/results/yandex.rb b/lib/geocoder/results/yandex.rb
index b1b0952a6579bac8cb9ab56b798a8a7ed572b8fc..74d4da2bd2708e2562f75e6930d44a7bc932dbc1 100644
--- a/lib/geocoder/results/yandex.rb
+++ b/lib/geocoder/results/yandex.rb
@@ -12,7 +12,7 @@ module Geocoder::Result
     end
 
     def city
-      if state.empty?
+      if state.empty? and address_details.has_key? 'Locality'
         address_details['Locality']['LocalityName']
       elsif sub_state.empty?
         address_details['AdministrativeArea']['Locality']['LocalityName']