cherry pick 109ddfe2b39f553c57732826e1cf06a99ccedf53