diff --git a/lib/flor/pcore/_ref.rb b/lib/flor/pcore/_ref.rb
index <HASH>..<HASH> 100644
--- a/lib/flor/pcore/_ref.rb
+++ b/lib/flor/pcore/_ref.rb
@@ -18,7 +18,9 @@ class Flor::Pro::Ref < Flor::Procedure
       if tree[0] == '_rep'
         pa
       elsif pa.size == 2 && pa[1] == 'ret' && pa[0].match(/\Af(ld|ield)?\z/)
-        node_payload_ret
+        parent ?
+          parent_node_procedure.node_payload_ret :
+          node_payload_ret
       else
         lookup_value(pa)
       end
Returns the f.ret as found at the parent level

```
[ 0 1 ]; merge [ 'a' ] [ <I> <I> 4 ] f.ret
  # => [ 0 1 4 ]
  # and not
  #    [ <I> <I> 4 ]
```