(cherry picked from commit 696e156970182a1158b3e5d5e0811acaf6f97f09)
(cherry picked from commit fce17f73a9d7ba9649699c364af6fdbb83efaa95)