diff --git a/actionpack/lib/action_dispatch/middleware/params_parser.rb b/actionpack/lib/action_dispatch/middleware/params_parser.rb
index <HASH>..<HASH> 100644
--- a/actionpack/lib/action_dispatch/middleware/params_parser.rb
+++ b/actionpack/lib/action_dispatch/middleware/params_parser.rb
@@ -26,20 +26,19 @@ module ActionDispatch
     end
 
     def call(env)
-      if params = parse_formatted_parameters(env)
-        env["action_dispatch.request.request_parameters"] = params
-      end
+      default = env["action_dispatch.request.request_parameters"]
+      env["action_dispatch.request.request_parameters"] = parse_formatted_parameters(env, default)
 
       @app.call(env)
     end
 
     private
-      def parse_formatted_parameters(env)
+      def parse_formatted_parameters(env, default)
         request = Request.new(env)
 
-        return false if request.content_length.zero?
+        return default if request.content_length.zero?
 
-        strategy = @parsers.fetch(request.content_mime_type) { return false }
+        strategy = @parsers.fetch(request.content_mime_type) { return default }
 
         strategy.call(request.raw_post)
drop a conditional by always assigning

We will always make an assignment to the env hash and eliminate a
conditional