Forward port of issue #18767 to 2.2.3.