(cherry picked from commit 3daaa7e064505cbe5f5fadd68fafc2210f97f07b)
(cherry picked from commit 5947a5cba7229495fa637fe7c5d50c023c249b2c)