Split from #3836. 