Avoid too much recursion; fix