(cherry picked from commit 7f62a054c888af06c96f0b1788d22ee32e12aab5)
(cherry picked from commit ed367f95d96406f99a5198c53760e8d7202640aa)