backport e2ab9a1c3435bdfc0f95b8bce40194dc722f4ef5