(cherry picked from commit be6ff486ade810becacdd6026d0e5622f1d1bbb3)
(cherry picked from commit ab179bbbecde4041c8ec10715e1df70a815851cd)