(cherry picked from commit 85f6d67fa78511f255fcfa810afc9a156a7b483b) (cherry picked from commit 426535007bcdc67331f7a37b5d69cc20b37c26e0)