diff --git a/src/r_things.c b/src/r_things.c
index 2daa6984dc8b1101b9c72e5375d7d092bd2e4b74..01c02aec474d589b3d38f573d3e6a1a2a37c7d06 100644
--- a/src/r_things.c
+++ b/src/r_things.c
@@ -2656,23 +2656,11 @@ static void R_CreateDrawNodes(maskcount_t* mask, drawnode_t* head, boolean temps
 
 					if (!behind)
 					{
-						fixed_t z1 = 0, z2 = 0;
-
-						if (rover->mobj->z - viewz > 0)
-						{
-							z1 = rover->pz;
-							z2 = r2->sprite->pz;
-						}
+						// FIXME: calculate gz and gzt for splats properly and use that
+						if (rover->mobj->z < viewz)
+							infront = (r2->sprite->mobj->z >= rover->mobj->z);
 						else
-						{
-							z1 = r2->sprite->pz;
-							z2 = rover->pz;
-						}
-
-						z1 -= viewz;
-						z2 -= viewz;
-
-						infront = (z1 >= z2);
+							infront = (r2->sprite->mobj->z <= rover->mobj->z);
 					}
 				}
 				else