diff --git a/railties/lib/rails.rb b/railties/lib/rails.rb
index <HASH>..<HASH> 100644
--- a/railties/lib/rails.rb
+++ b/railties/lib/rails.rb
@@ -79,6 +79,10 @@ module Rails
       @_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development")
     end
 
+    def env=(environment)
+      @_env = ActiveSupport::StringInquirer.new(environment)
+    end
+
     def cache
       RAILS_CACHE
     end
diff --git a/railties/test/railties/railtie_test.rb b/railties/test/railties/railtie_test.rb
index <HASH>..<HASH> 100644
--- a/railties/test/railties/railtie_test.rb
+++ b/railties/test/railties/railtie_test.rb
@@ -125,5 +125,16 @@ module RailtiesTest
       require "#{app_path}/config/environment"
       assert $ran_block
     end
+    
+    test "we can change our environment if we want to" do
+      begin
+        original_env = Rails.env
+        Rails.env = 'foo'
+        assert_equal('foo', Rails.env)
+      ensure
+        Rails.env = original_env
+        assert_equal(original_env, Rails.env)
+      end
+    end
   end
 end
Adding Rails.env= to railties to allow changing of rails env on the fly for rake tasks etc