(cherry picked from commit 3be088e3708c898e25ba868000b5fcaad4ab5847)
(cherry picked from commit b95b8008f7356aac7c57a0548e1e7d6c605bf987)