Forward port of issue #20420 to 2.2.6.