Correct behavior for negative numbers