(cherry picked from commit e68a8fdc49c600224b93e25f60ed6b8ecf1afe84)
(cherry picked from commit 16699d68fa52d5a8dd450c68c64220def1d6a142)