(cherry picked from commit 4acc5b268a535d3f531ab2a794ce1c309ca312c7)
(cherry picked from commit 385ca11b02b0bcd7f58a26f2c7bad46939875100)