diff --git a/src/p_map.c b/src/p_map.c
index e9543e7102bf1584498507d2b71d51267db6d81a..2a7b51abdff548c268ce92ed34bd3fc87eeae5cb 100644
--- a/src/p_map.c
+++ b/src/p_map.c
@@ -2762,7 +2762,7 @@ boolean P_TryMove(mobj_t *thing, fixed_t x, fixed_t y, boolean allowdropoff)
 
 				if (thingtop == thing->ceilingz && tmceilingz > thingtop && tmceilingz - thingtop <= maxstep)
 				{
-					thing->z = (thing->ceilingz = thingtop = tmceilingz) - thing->height;
+					thing->z = (thing->ceilingz = tmceilingz) - thing->height;
 					thing->ceilingrover = tmceilingrover;
 					thing->eflags |= MFE_JUSTSTEPPEDDOWN;
 				}