diff --git a/src/p_mobj.c b/src/p_mobj.c
index dc1ab72775afd3ed6aa899dde1d16373556007d6..ea3fd133024004bd3a3f239b49b43340ae9d966d 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -4140,7 +4140,7 @@ static void P_KillRingsInLava(mobj_t *mo)
 				topheight = P_GetFOFTopZ(mo, node->m_sector, rover, mo->x, mo->y, NULL);
 				bottomheight = P_GetFOFBottomZ(mo, node->m_sector, rover, mo->x, mo->y, NULL);
 
-				if (mo->z <= topheight || mo->z + mo->height >= bottomheight) // if ring touches it, KILL IT
+				if (mo->z <= topheight && mo->z + mo->height >= bottomheight) // if ring touches it, KILL IT
 				{
 					P_KillMobj(mo, NULL, NULL, DMG_FIRE);
 					return;