(cherry picked from commit 2c66cbf2063471ecea7452ba5d5956de769a3b26)
(cherry picked from commit 1450cc1a3dbcd88e9e85f994a193293d1255d8eb)