(cherry picked from commit 19ed7bd655e72e10373f1afab5af214f2f47881e)
(cherry picked from commit 6c8e116e8bbaecce2b77fd9e0db89f366b57f9b6)