I'm debugging my code on x86 and the problem tracks down to AND instruction 
sometimes does not clear ZF flag if the result is not zero.
Here is the problematic piece of code:

```

0257A9F9  mov         edx,dword ptr [ecx+18h] 
0257A9FC  and         edx,80000h 
0257AA02  int         3    
0257AA03  je          0257AA2A 

```

I added a breakpoint after AND for debugging.
When it stops on the breakpoint EDX==0x80000 and ZF==1.
But ZF should be cleared if EDX!=0.
The code works perfectly fine when single stepped in debugger,
but it fails consistently during normal run.

Here is a [screenshot](http://picasaweb.google.com/dayawaska/Hidden?authkey=3IsqnLvGcq0&feat=directlink#5294113850486026818) of debugger session.

Any hints?

If that matters the code is generated by JIT, so I'm executing data.

Thank you in advance.