Forward port of issue #21048 to 2.2.7.