diff --git a/lib/geocoder.rb b/lib/geocoder.rb
index 268e7b728e4d3a2fa0c147076b860b8c27b23a8f..df59e222a990b183fe402a6f642a2bb5ee182cd4 100644
--- a/lib/geocoder.rb
+++ b/lib/geocoder.rb
@@ -1,7 +1,6 @@
 require "geocoder/configuration"
 require "geocoder/calculations"
 require "geocoder/cache"
-require "geocoder/railtie"
 require "geocoder/request"
 
 module Geocoder
@@ -118,4 +117,8 @@ module Geocoder
   end
 end
 
-Geocoder::Railtie.insert
+# load Railtie if Rails exists
+if defined?(Rails)
+  require "geocoder/railtie"
+  Geocoder::Railtie.insert
+end
diff --git a/test/test_helper.rb b/test/test_helper.rb
index 92c0681b35f24e0129e86560b6d95c9e7f8c027b..b852c32d05c01ed679473700705677f1e470ca6e 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -38,6 +38,10 @@ module ActiveRecord
   end
 end
 
+# simulate Rails module so Railtie gets loaded
+module Rails
+end
+
 # Require Geocoder after ActiveRecord simulator.
 require 'geocoder'
 require "geocoder/lookups/base"