(cherry picked from commit da4ecc9f8223ac82bff8483594fb29be2f8d4d34) (cherry picked from commit 03854f0bc51c3357161dd7cefb5acd3487868546)