(cherry picked from commit da0b6a354bf6f6bf37ca5a05a4a8eece09aa4893) (cherry picked from commit 74030d808cd95e26a0c48500c08d269fcb4150ee)