diff --git a/lib/geocoder/lookups/maxmind_local.rb b/lib/geocoder/lookups/maxmind_local.rb
index 0fa5d8673cc7b9fd121765f119bf2368f849c9c5..7a744038b144583a99483b761942c3bb298aa15f 100644
--- a/lib/geocoder/lookups/maxmind_local.rb
+++ b/lib/geocoder/lookups/maxmind_local.rb
@@ -34,10 +34,10 @@ module Geocoder::Lookup
         result.nil? ? [] : [result.to_hash]
       elsif configuration[:package] == :city
         addr = IPAddr.new(query.text).to_i
-        q = "SELECT l.country, l.region, l.city
+        q = "SELECT l.country, l.region, l.city, l.latitude, l.longitude
           FROM maxmind_geolite_city_location l JOIN maxmind_geolite_city_blocks b USING (loc_id)
           WHERE b.start_ip_num <= #{addr} AND #{addr} <= b.end_ip_num"
-        format_result(q, [:country_name, :region_name, :city_name])
+        format_result(q, [:country_name, :region_name, :city_name, :latitude, :longitude])
       elsif configuration[:package] == :country
         addr = IPAddr.new(query.text).to_i
         q = "SELECT country, country_code FROM maxmind_geolite_country
diff --git a/lib/maxmind_database.rb b/lib/maxmind_database.rb
index 1949e8a6e279210353334a2d49ca730ee90bc1b1..60d3a5ae4c46075c60d533fa660655cd51f34d83 100644
--- a/lib/maxmind_database.rb
+++ b/lib/maxmind_database.rb
@@ -83,7 +83,7 @@ module Geocoder
       case package
       when :geolite_city_csv
         # use the last two in case multiple versions exist
-        files = Dir.glob(File.join(dir, "GeoLiteCity_*/*.csv"))[-2..-1]
+        files = Dir.glob(File.join(dir, "GeoLiteCity_*/*.csv"))[-2..-1].sort
         Hash[*files.zip(["maxmind_geolite_city_blocks", "maxmind_geolite_city_location"]).flatten]
       when :geolite_country_csv
         {File.join(dir, "GeoIPCountryWhois.csv") => "maxmind_geolite_country"}