calculate on submit if it hasn't happened.   can occur when they press back button