Forward port of issue #21168 to 2.2.7.