Black pieces were not recognized as the same as white pieces.
            if(pieceToChar[piece] != '+') { ok = FALSE; continue; } // promoted form does not exist
        }
        ASSIGN(pieceDesc[piece], p);
-       if(piece < BlackPawn && (pieceToChar[WHITE_TO_BLACK piece] == pieceToChar[piece] || promoted)) {
+       if(piece < BlackPawn && (pieceToChar[WHITE_TO_BLACK piece] == pieceToChar[piece] + 32 || promoted)) {
            ASSIGN(pieceDesc[WHITE_TO_BLACK piece], p);
        }
        pieceDefs = TRUE;