Forward port of issue #21671 to 2.3.x.