diff --git a/src/p_map.c b/src/p_map.c
index 56412a3b43c35b9083c08edf11ac12a73ddecc98..719a637b4193ef7fef271d0503c10f60f5be05c2 100644
--- a/src/p_map.c
+++ b/src/p_map.c
@@ -888,6 +888,15 @@ static boolean PIT_CheckThing(mobj_t *thing)
 	}
 #endif
 
+	if (tmthing->type == MT_LAVAFALL_LAVA && (thing->type == MT_RING || thing->type == MT_REDTEAMRING || thing->type == MT_BLUETEAMRING || thing->type == MT_FLINGRING))
+	{
+		//height check
+		if (tmthing->z > thing->z + thing->height || thing->z > tmthing->z + tmthing->height || !(thing->health))
+			return true;
+
+		P_KillMobj(thing, tmthing, tmthing, DMG_FIRE);
+	}
+
 	if (tmthing->type == MT_MINECART)
 	{
 		//height check