(cherry picked from commit 2d67a9a62163957eef9dd26379a229b8af741655) (cherry picked from commit 4eac51f6a4200e01aa72fa0eaac5d72d57ed0c8e)