(cherry picked from commit 37c41aeecc509903518f9fa1d8db14239968ea8b)
(cherry picked from commit 3d39b42e96be3b467a2b40a4b86335500cf659d4)