(cherry picked from commit 6f2652735817e22c55de3b6e137faf7cdbc3fd2a)
(cherry picked from commit 601db31c264f3008c25f3fb13f1968a543a9cfe6)