diff --git a/src/g_shared/a_pickups.cpp b/src/g_shared/a_pickups.cpp index 37e4597c99..343b875e3c 100644 --- a/src/g_shared/a_pickups.cpp +++ b/src/g_shared/a_pickups.cpp @@ -385,7 +385,7 @@ DEFINE_ACTION_FUNCTION(AActor, A_RestoreSpecialPosition) } } // Redo floor/ceiling check, in case of 3D floors - P_FindFloorCeiling(self, FFCF_SAMESECTOR | FFCF_ONLY3DFLOORS); + P_FindFloorCeiling(self, FFCF_SAMESECTOR | FFCF_ONLY3DFLOORS | FFCF_3DMIDTEXRESTRICT); if (self->z < self->floorz) { // Do not reappear under the floor, even if that's where we were for the // initial spawn. diff --git a/src/p_mobj.cpp b/src/p_mobj.cpp index 636399503a..7d5de6cc5e 100644 --- a/src/p_mobj.cpp +++ b/src/p_mobj.cpp @@ -2487,7 +2487,7 @@ void P_NightmareRespawn (AActor *mobj) } // If there are 3D floors, we need to find floor/ceiling again. - P_FindFloorCeiling(mo, FFCF_SAMESECTOR | FFCF_ONLY3DFLOORS); + P_FindFloorCeiling(mo, FFCF_SAMESECTOR | FFCF_ONLY3DFLOORS | FFCF_3DMIDTEXRESTRICT); if (z == ONFLOORZ) {