Reimplement r55876 properly