Attempting to fix up recursion handling