(cherry picked from commit 5cae2d0541ab829ccac7398f5127b114f88fa478)
(cherry picked from commit 06a0f4b13e08572db1c9b65d1e3eadcf541a96ad)