Something seems to be wrong with the PolynomialFactors context from contextPolynomialFactors.pl.
If you use singleFactors => 1, and the student enters -(x+6)(x+2) (for example) then the error message "Only one factor or constant can be negated" is given. Of course, that is silly when only one factor is.
Throwing some warn's into the macro for debugging purposes shows that the checkPolynomial method of the PolynomialFactors::UOP::minus package is called twice. One with $op == (x+6) and again with $op == (x+6)(x+2). Of course the second call is the problem.