Muss das break; nicht hinter das stop();?
Weil bei break wird die Schleife verlassen:
break

Mit dem Schlüsselwort break können wir zu jeder Zeit eine Schleife verlassen, ohne auf den Kontrollpunkt warten zu müssen.

http://www.c-howto.de/tutorial-schleifen-break.html

gruß Thorben