Unity/Mono Develop Bug

I just noticed a bug, but I don’t know if it’s Unity’s faults or Mono Develop’s. I have the following code

if (!state.wasGroundedLastFrame && _speed.y > 0){
	_newPosition.y += _speed.y * Time.deltaTime;			
}

Simple enough, but when I was debugging I noticed that it was entering the statement even when _speed.y value was less than 0. See the screenshot below
43706-screen-shot-2015-04-01-at-201348.png

See that I’m in the statement even thought the y value is -0.43. Can someone else do something similar and report back, this seems like a huge bug, so I’m asking you guys to check it out before I report it.

One cause of such behaviour could be that you added another condition (here: _speed.y > 0) to already existing ‘if’ but Unity, for unknown reason, didn’t recompile this script and you were debuging “previous” state. So to make sure… remove all your breakepoints, close Unity, open it again, do some modification in this script to trigger recompilation a try to debug it again.