(cherry picked from commit 1506bbc136f7ad9b0a3e68d54dc269b29493de58)
(cherry picked from commit f6a7530990225389ccc8ab9a0def9ceadc7d4ae3)