(cherry picked from commit 2a746745c146c517a869aa8c161c1e34e724b936)
(cherry picked from commit 66daedcbbb1302da73c3b684a2b8cc833a89a5a8)