(cherry picked from commit 3bbe86ea547bb409352c65f1dd88f85e27f95759)
(cherry picked from commit faadc1ad315908a346afd6e6e36f3c11708547c7)