(cherry picked from commit f4cdb41fcc0180a7527547982aedb654bb5967a6)
(cherry picked from commit 2288b6c39b9fa30a1512966d29dfafb9b7d2e320)