Fixes #86827 This will simplify code, de-duplicate some logic and fix the faulty bool compare. cc @dcb314