(cherry picked from commit 9bf452856cb40c7d1475eb2c7471c17d7861bac3)
(cherry picked from commit 6dd280205b5bf4040e690b5aaeb961e3443bd19c)