diff --git a/cpp/search/searchhelpers.cpp b/cpp/search/searchhelpers.cpp index ee0d1ba68..1b8332c6b 100644 --- a/cpp/search/searchhelpers.cpp +++ b/cpp/search/searchhelpers.cpp @@ -467,11 +467,13 @@ bool Search::shouldSuppressPass(const SearchNode* n) const { bool adjToPlaOwned = false; for(int j = 0; j<4; j++) { Loc adj = moveLoc + rootBoard.adj_offsets[j]; - int adjPos = NNPos::locToPos(adj,rootBoard.x_size,nnXLen,nnYLen); - double adjPlaOwnership = rootPla == P_WHITE ? whiteOwnerMap[adjPos] : -whiteOwnerMap[adjPos]; - if(adjPlaOwnership > extreme) { - adjToPlaOwned = true; - break; + if(rootBoard.isOnBoard(adj)) { + int adjPos = NNPos::locToPos(adj,rootBoard.x_size,nnXLen,nnYLen); + double adjPlaOwnership = rootPla == P_WHITE ? whiteOwnerMap[adjPos] : -whiteOwnerMap[adjPos]; + if(adjPlaOwnership > extreme) { + adjToPlaOwned = true; + break; + } } } if(oppOwned && !adjToPlaOwned)