Antialiasing and depth peeling

Hey, I’m currently implementing depth peeling. I’m finding that if my draw buffers are antialiased, I get incorrect results. The shader z depth (gl_FragCoord.z) doesn’t compare correctly against the depth value I stored from the previous peel (stored in a GL_DEPTH_COMPONENT texture). I’m using polygon offset to avoid some of the precision errors that I get since my depth texture is 24-bit but gl_FragCoord.z is 32-bit.
Everything works fine if I’m not antialiasing, but when I turn on antialiasing I get lots of artifacts. I’ve tried with both pbuffers and FBOs.

I assume theres something extra I need to take into account when using gl_FragCoord.z in an antialiased buffer, just not sure it is. Any tips?

Or maybe is polygon offset the issue here?