Thread-at-a-time example in IGOR help

Hi!

I am starting to use multithreading techniques in my IGOR functions and I was lookin at the Thread-at-a-time example in IGOR help:
Function MTFillWaveThreadAtATime(dest)
    WAVE dest
   
    Variable ncol= DimSize(dest,1)
    Variable col,nthreads= ThreadProcessorCount
    Variable threadGroupID= ThreadGroupCreate(nthreads)
   
    for(col=0; col<ncol; col+=1)
        // Get index of a free thread - Requires Igor Pro 6.23 or later
        Variable threadIndex = ThreadGroupWait(threadGroupID,-2) - 1
        if (threadIndex < 0)
            continue            // No free threads yet
        endif
        ThreadStart threadGroupID, threadIndex, MyWorkerFunc(dest,col)
    endfor

    // Wait for all threads to finish
    do
        Variable threadGroupStatus = ThreadGroupWait(threadGroupID,100)
    while(threadGroupStatus != 0)

    Variable dummy= ThreadGroupRelease(threadGroupID)
End


where I believe is a "bug". Namely in the for loop starting the MyWorkerFunc in the currently free threads (in the example filling a WAVE) in case where there is no free thread the worker function for the current col (the for loop index) will not be dispatched ever and therefore in the example case the matrix column col will not get filled. Can anyone confirm this? If I am not mistaken the example function would work as expected if one changes the if loop inside the for loop to
if (threadIndex < 0)
    col -= 1    // retry to dispatch the thread with the same col index
    continue
endif


Thanks,
Gregor