As a work around, use dupTree(). Note: This is example code, change as necessary. a scope { CommonTree b1tree; } @init { $a::b1tree = null; } : b1 = b { $a::b1tree = (CommonTree)adaptor.DupTree((CommonTree)$b1.tree); } b2 = b ;