backport of commit d646454dfcf150e31436936113d362f1e150b232