(cherry picked from commit 90994fea2fd59ea68a86ae9d3176e971a6f7d886)
(cherry picked from commit 48b76e230668dfa714c884b6150aed104e1b9479)