Start Calc (M-x calc). Try to convert -1m to cm. Type '-1muc Then Calc asks `(The expression is unitless when simplified) Old Units:' This is the first glitch here, but, regardless, answer the question m Now, it asks (correctly) for new units, so type cm This gives the surprising result `-100 m' on top of the stack. Now, if you do the same thing with -2 instead of -1, everything works fine. The reason is that some of the functions in calc-units.el which, in various ways, test for the presence of units in a given (simplified) expression forget to handle subexpressions of the form (neg ). I propose the attached patch, which also contains some modest additions to test/automated/cl-lib-tests.el. There's also some math-defsimplify stuff in calc-units.el which fails to handle the neg operator, but that shouldn't give rise to mathematical errors and will be done in another patch. This patch is also needed for (and, in fact, was prompted by) bug#19401.