while(1) {\r
        int i, difficult;\r
 \r
-       LaunchSearch(); // start a search if we need one\r
-      nomove:\r
        for(difficult=0; !difficult; ) { // read and handle commands that can (or must) be handled during thinking\r
        fflush(toE); fflush(stdout);\r
        if(!ReadLine(stdin, line)) printf("# EOF\n"), sprintf(line, "quit -1\n");\r
                    searching = 0; pause = 2; moveNr++; startTime = GetTickCount(); // clock starts running now\r
                    EPRINT((f, "# ponderhit%s\n", draw)) fflush(toE); fflush(stdout);\r
                    searching = 3; // request blocking input during thinking\r
-                   goto nomove;\r
+                   continue;\r
                }\r
                StopPonder(1); searching = 0;\r
            }\r
        }\r
        if(qStart == qEnd) qStart = qEnd = queue;\r
        p = line; while(qEnd < queue+10000 && (*qEnd++ = *p++) != '\n') {}\r
-       if(DoCommand()) goto nomove;\r
+       if(DoCommand()) continue;\r
       }\r
+\r
+       LaunchSearch(); // start a search if we need one\r
     }\r
 }\r
 \r