Backport #29450 by @lunny Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> (cherry picked from commit 2df38af752c13ca02a899d6a53848c68259d3336)