Unsafe statement written to the binary log using since BINLOG_FORMAT = STATEMENT...


there are many warning messages like below when use pt-table-checksum to check 3 nodes data in our PXC, why it occur? And are there any way correct that ?
In the my.cnf file, BINLOG_FORMAT is set to ROW,

thanks in advance.

2016-05-05 03:37:41 24482 [Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. REPLACE… SELECT is unsafe because the order in which rows are retrieved by the SELECT determines which (if any) rows are replaced. This order cannot be predicted and may differ on master and the slave. Statement: REPLACE INTO percona.checksums (db, tbl, chunk, chunk_index, lower_boundary, upper_boundary, this_cnt, this_crc) SELECT /!99997/ ‘sp2p’, ‘t_wsapi_token’, ‘2’, ‘PRIMARY’, ‘694425’, ‘1004712’, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS(’#’, ws_api_token_id, fk_ws_api_user_id, token, comment, UNIX_TIMESTAMP(create_time), UNIX_TIMESTAMP(update_time), create_by, update_by, record_status, CONCAT(ISNULL(comment), ISNULL(create_time), ISNULL(update_time), ISNULL(create_by), ISNULL(update_by)))) AS UNSIGNED)), 10, 16)), 0) AS crc FROM sp2p.t_wsapi_token FORCE INDEX(PRIMARY) WHERE ((ws_api_token_id >= ‘694425’)) AND ((ws_api_token_id <= '100471