Re-apply changes in 9add8d1a43e7fae227d279ab20755a19b1e4520a