(cherry picked from commit e2b8043a8cae78892d90bf2aad78760892a4507d)
(cherry picked from commit 2aecb84b50237caa42d85644565c64b6ee2dbc9e)