Conditional breakpoint woes - WinDbg

I'm trying to set up a conditional bp in WinDbg when the IRQL is above 0 in some location in a function of interest.

I'm doing the following, but the bp hits every time (even if IRQL is 0):

ba e 1 nt!IoFreeIrp+4 ".if ((poi(@$pcr+0x38) & 0xf) = 0) {gc} .else {}"

I'm testing it with nt!IoFreeIrp just to see. My actual function will be different.

Any idea what am I doing wrong?