diff --git a/src/search.cpp b/src/search.cpp index 4b0a9fe8..f64f55f0 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -837,7 +837,7 @@ moves_loop: // When in check and at SpNode search starts from here ext = ONE_PLY; else if (givesCheck && pos.see_sign(move) >= 0) - ext = ONE_PLY / 2; + ext = inCheck || ss->staticEval < VALUE_ZERO ? ONE_PLY : ONE_PLY / 2; // Singular extension search. If all moves but one fail low on a search of // (alpha-s, beta-s), and just one fails high on (alpha, beta), then that move