2.4 branch backport