diff --git a/src/search.cpp b/src/search.cpp index a76ff2ca..ba0a4f0c 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1207,8 +1207,8 @@ namespace { } // Step 9. Internal iterative deepening - if ( depth >= IIDDepth[PvNode] - && ttMove == MOVE_NONE + if ( depth >= IIDDepth[PvNode] + && (ttMove == MOVE_NONE || (PvNode && tte->depth() <= depth - 4 * OnePly)) && (PvNode || (!isCheck && ss[ply].eval >= beta - IIDMargin))) { Depth d = (PvNode ? depth - 2 * OnePly : depth / 2);