diff --git a/src/p_map.c b/src/p_map.c
index b934e3255323e86a7ae572342fa27f3a84db516c..a1cad524e14e2739af074b9ea24887b0d077eb95 100644
--- a/src/p_map.c
+++ b/src/p_map.c
@@ -2257,6 +2257,8 @@ boolean P_CheckPosition(mobj_t *thing, fixed_t x, fixed_t y)
 			{
 				if (!P_BlockThingsIterator(bx, by, PIT_CheckThing))
 					blockval = false;
+				else
+					tmhitthing = tmfloorthing;
 				if (P_MobjWasRemoved(tmthing))
 					return false;
 			}