this is strange!
i just checked the code this should be impossible to happen, there is a code to prevent any negative values!!, or so i thought!,
did this occurred normally, without altering anything?
if yes, how, because it seems it would be really hard to track this from code without context.