(cherry picked from commit 2f56e812de7bf85f19db5a2455b4b3ff7c1b9531)
(cherry picked from commit 6743f50df288327389387e6d7c80398ac022a8cf)