diff --git a/dlls/ddraw/executebuffer.c b/dlls/ddraw/executebuffer.c
index e74bdb1..059fa25 100644
--- a/dlls/ddraw/executebuffer.c
+++ b/dlls/ddraw/executebuffer.c
@@ -525,11 +525,13 @@ IDirect3DExecuteBufferImpl_Execute(IDirect3DExecuteBufferImpl *This,
 		        if (!ci->bNegate) {
                             TRACE(" Branch to %d\n", ci->dwOffset);
 			    instr = (char*)current + ci->dwOffset;
-			}
+                break;
+                }
 		    } else {
 		        if (ci->bNegate) {
                             TRACE(" Branch to %d\n", ci->dwOffset);
 			    instr = (char*)current + ci->dwOffset;
+                break;
 			}
 		    }
 
