Merge #18871

Merge #18871 with fixes