(cherry picked from commit 80af164385d9087a627142ca2281ae74ac0572af) (cherry picked from commit aa8e886dab3ffedc835900db39787d47dc12465c)