(cherry picked from commit 60a91537f7ea1225b5ca67f6dd9ef358b33939da)
(cherry picked from commit 2869ec2e1061a7be2e8ec0cd3196883bf07cb96a)