diff --git a/lib/geocoder/esri_token.rb b/lib/geocoder/esri_token.rb
index a68f01555e5c62199e92f64d642b09709bff2b9b..619aecfdbb35cb3e40aa44808a5f5bd65bc6f669 100644
--- a/lib/geocoder/esri_token.rb
+++ b/lib/geocoder/esri_token.rb
@@ -30,7 +30,7 @@ module Geocoder
         Geocoder.log(:warn, response['error'])
       else
         token_value = response['access_token']
-        expires_at = Time.now + expires.minutes
+        expires_at = Time.now + (expires * 60)
         new(token_value, expires_at)
       end
     end
diff --git a/lib/geocoder/lookups/esri.rb b/lib/geocoder/lookups/esri.rb
index 122c8c8b368825d1949ce6dbc8a5468faba52192..5cd3fa1cf6133e6f61c0023b2029b83f4e29deee 100644
--- a/lib/geocoder/lookups/esri.rb
+++ b/lib/geocoder/lookups/esri.rb
@@ -51,7 +51,7 @@ module Geocoder::Lookup
       if configuration[:token] && configuration[:token].active? # if we have a token, use it
         configuration[:token].to_s
       elsif configuration.api_key # generate a new token if we have credentials
-        token_instance = EsriToken.generate_token(*configuration.api_key)
+        token_instance = Geocoder::EsriToken.generate_token(*configuration.api_key)
         Geocoder.configure(:esri => {:token => token_instance})
         token_instance.to_s
       end