As a footnote, the update.formula function shares one of the flaws I mentioned in the earlier post > test <- y ~ x1 + (x2=='abc') + x3 > update(test, . ~ .-x3) y ~ x1 + x2 == "abc" The original formula is valid but the updated one is not. Terry T. [[alternative HTML version deleted]]