Hi, In the expression: <tal:r replace="x | y | z"> ...it appears that all of x, y and z are evaluated befroe any rendering take place. Is that the case? If so, it's very innefficient at best, at worst, it's a bug: <tal:r replace="x | y_only_exists_if_x_does_not"> What's the best way to tackle this? cheers, Chris