diff --git a/lib/geocoder/lookups/yandex.rb b/lib/geocoder/lookups/yandex.rb
index 66d14f5cbdd6d2e66d634c45964edd60c7b2373c..e999a3786402c2179411efce4e638a9c09339f1a 100644
--- a/lib/geocoder/lookups/yandex.rb
+++ b/lib/geocoder/lookups/yandex.rb
@@ -18,6 +18,7 @@ module Geocoder::Lookup
     end
 
     def query_url(query, reverse = false)
+      query = query.split(",").reverse.join(",") if reverse
       params = {
         :geocode => query,
         :format => "json",
diff --git a/lib/geocoder/results/yandex.rb b/lib/geocoder/results/yandex.rb
index 7f6f3281b7cec49e845cda992a566007ebd80720..2227a521a9d88d6263a4561e40dee7b2d152aa24 100644
--- a/lib/geocoder/results/yandex.rb
+++ b/lib/geocoder/results/yandex.rb
@@ -4,7 +4,7 @@ module Geocoder::Result
   class Yandex < Base
 
     def coordinates
-      @data['GeoObject']['Point']['pos'].split(' ').map(&:to_f)
+      @data['GeoObject']['Point']['pos'].split(' ').reverse.map(&:to_f)
     end
 
     def address(format = :full)