(cherry picked from commit bdc630e7e97837aa4457c7da4562f9d22e21df87)
(cherry picked from commit 24a89c028a0d2988805b17f4c69c3f2b3a284b1f)