I don't like it either but can't think of a better way to do it. I think we can live with it, the reason is documented in comment.