Better logic for boolean updates, ref #841