- SplitPoint* oldest = &Threads[i].splitPoints[0];
-
- // Find the first oldest split point with still all slaves running
- if ( Threads[i].splitPointsCnt
- && oldest->slavesMask == oldest->allSlavesMask
+ Thread* th = &Threads[i];
+ SplitPoint* oldest = &th->splitPoints[0];
+
+ // Find the first split point with still all slaves running
+ // where we are available as a possible slave.
+ if ( !is_searching
+ && th->splitPointsCnt
+ && !oldest->cutoff
+ && oldest->slavesMask == oldest->allSlavesMask