The 'make it actually work with subclasses' fix.