(cherry picked from commit 3d59a8a7b8d402163cfd2a9a11ace7fdcf7dfc62)
(cherry picked from commit 2cc0e481f943c3e5825c5446432dd0858bb6f91e)