(cherry picked from commit ca33ebe55fe279b82941025a1dc4b8d3e65f9016)
(cherry picked from commit ae5bfe5cc1c7a7dc0c8801bb892651da526d29f2)