(cherry picked from commit ab37e03bf34800a7780a653e998ad6f7a97f08f4) (cherry picked from commit 2b527169f1f73574bcd5cb49e43ee87986f85996)