This partially reverts 192a9d95 (#19432). Fixes #20305. (cherry picked from commit 74c1ab84) (cherry picked from commit 38388b95d71b7701922f90854ce568f74e11ed12) (cherry picked from commit 2e12f3ad804f2ac5a220d3260fa6cf52a4684731) (cherry picked from commit 9c78b82c6abe97e4e690b430136d98989ad32ba1)