(cherry picked from commit 861b2d2d444f2fc60b58fd2eb1ee8b812a701ce6)
(cherry picked from commit 2885958174f9a742cc351c124c17610acde7dfd8)