Very difficult to read, and therefore was wrong. Assert that the SubstituteInheritBefore option was explicitly toggled, and do not default in 2.x to this legacy behavior.