(cherry picked from 64f28f9efa2ef3cd9dd54a6c5009029721e030ed) (cherry picked from 69b0c513a9b11cc7f795747732173b36aacbe794)