diff --git a/lib/rom/processor/transproc.rb b/lib/rom/processor/transproc.rb
index <HASH>..<HASH> 100644
--- a/lib/rom/processor/transproc.rb
+++ b/lib/rom/processor/transproc.rb
@@ -99,8 +99,8 @@ module ROM
       #
       # @api private
       def visit_attribute(attribute)
-        if attribute.meta[:coercer]
-          t(:map_value, attribute.name, attribute.meta[:coercer])
+        if coercer = attribute.meta[:coercer]
+          t(:map_value, attribute.name, coercer)
         elsif attribute.typed?
           t(:map_value, attribute.name, t(:"to_#{attribute.type}"))
         end
Extract coercer once reducing number of hash lookups