Fixed recursive visit