Backport to 4.16
In response to !48 (comment 30040).
Basically everything in !43 (merged) that had not yet been backported plus the additional patch in 134bf981.
In response to !48 (comment 30040).
Basically everything in !43 (merged) that had not yet been backported plus the additional patch in 134bf981.