This is the crux of the fix.  @dmitchell suggested that going through the accessor would be more robust, and that seems to be the case.