Merge to 5.1 original commit: 0011b386ba5e80dd33ce69ba0f1b05ce0d3284cd
original commit: 8e0c7477f617c4830f26f1d7e42358f7f0e32eac
original commit: d282a49a9d2fa15044fc6acee7f3dc4e277d237b