(cherry picked from commit 5a558f96b8ef33b32aa1cad689cb5f862fe398f6)
(cherry picked from commit 2d026042952afd5d7f283838d06ed28a6013ea71)