Fix Trac #2668, and refactor TcDeriv