(cherry picked from commit 0321368cc392d7a0a488409bf6bd586ba45497af) (cherry picked from commit 033936dce7e13c8ab2e38407782dc9cdd949460e)