diff --git a/lib/rack/cors.rb b/lib/rack/cors.rb
index <HASH>..<HASH> 100644
--- a/lib/rack/cors.rb
+++ b/lib/rack/cors.rb
@@ -129,7 +129,7 @@ module Rack
 
         def process_preflight(env)
           return nil if invalid_method_request?(env) || invalid_headers_request?(env)
-          to_preflight_headers(env)
+          {'Content-Type' => 'text/plain'}.merge(to_preflight_headers(env))
         end
 
         def to_headers(env)
diff --git a/test/cors_test.rb b/test/cors_test.rb
index <HASH>..<HASH> 100644
--- a/test/cors_test.rb
+++ b/test/cors_test.rb
@@ -61,6 +61,12 @@ class CorsTest < Test::Unit::TestCase
       assert_preflight_success
       assert_equal '*', last_response.headers['Access-Control-Allow-Origin']
     end
+
+    should 'return a Content-Type' do
+      preflight_request('http://localhost:3000', '/')
+      assert_preflight_success
+      assert_not_nil last_response.headers['Content-Type']
+    end
   end
 
   protected
Should return a Content-Type, to comply with the Rack spec