backported from HEAD: