diff --git a/lib/voom/presenters/dsl/components/actions/base.rb b/lib/voom/presenters/dsl/components/actions/base.rb
index <HASH>..<HASH> 100644
--- a/lib/voom/presenters/dsl/components/actions/base.rb
+++ b/lib/voom/presenters/dsl/components/actions/base.rb
@@ -34,13 +34,20 @@ module Voom
             def extract_dynamic_params(hash)
               HashExt::Traverse.traverse(hash) do |k, v|
                 if v.respond_to?(:to_hash) || v.respond_to?(:dynamic_parameter)
-                  [k, v.to_hash]
+                  [k, clean_dynamic_values(v.to_hash)]
                 else
                   [nil, nil]
                 end
               end
             end
 
+            # This is an attempt to fix an intermittent bug where "params" would end up in the list of
+            # values when using `last_response`.
+            def clean_dynamic_values(hash)
+              hash[:value].delete(:params) if hash.has_key?(:value) && hash[:value].is_a?(Array)
+              hash
+            end
+
             def extract_params(hash)
               HashExt::Traverse.traverse(hash) do |k, v|
                 if v.respond_to?(:dynamic_parameter)
Attempt at fixing a very elusive bug when using `last_response` in an
action.