(cherry picked from commit 51dd4bc73bb05e29cec798838861c9583484d186)
(cherry picked from commit dabea2e05ce3691b1dc373f6ee21907137ec53af)