(cherry picked from commit a0ebb8e55c9f592310caf37d41e20cd9a3e927a2)
(cherry picked from commit 788976fdbd32b4e24c5dadda42c2c78e7abb07c6)