Backport of 0ed7d15563 from master
0ed7d15563
Thanks Markus Holtermann and Tim Graham for the review.