Parital reverse of 82c8409.
Partial reverse of ffcbc59.