factorising and generalising use of check_no_neg_SV