diff --git a/src/info.c b/src/info.c
index 8646a2ef1277d3052ae7268572150e71cb348fe3..074e31ba2eb044476607796a58ab05f0d6c90c1e 100644
--- a/src/info.c
+++ b/src/info.c
@@ -19480,7 +19480,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
 		100,            // mass
 		0,              // damage
 		sfx_None,       // activesound
-		MF_NOBLOCKMAP|MF_NOCLIPTHING|MF_RUNSPAWNFUNC|MF_NOCLIPHEIGHT, // flags
+		MF_NOBLOCKMAP|MF_NOCLIPTHING|MF_RUNSPAWNFUNC|MF_NOCLIPHEIGHT|MF_SCENERY, // flags
 		S_NULL          // raisestate
 	},
 
diff --git a/src/p_inter.c b/src/p_inter.c
index 163d47eabe783a64f633a1ad7cca1bc6ea5275e2..cd1e80de2dbbb1a231c3558c1b0e293812d84a33 100644
--- a/src/p_inter.c
+++ b/src/p_inter.c
@@ -1702,6 +1702,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
 
 		case MT_CANARIVORE_GAS:
 			// if player and gas touch, attach gas to player (overriding any gas that already attached) and apply slowdown effect
+			special->flags |= MF_NOGRAVITY|MF_NOCLIPHEIGHT;
 			P_UnsetThingPosition(special);
 			special->x = toucher->x - toucher->momx/2;
 			special->y = toucher->y - toucher->momy/2;
diff --git a/src/p_mobj.c b/src/p_mobj.c
index 8bacd212f198fb5b73197219dfc5432ce5f34781..5bf11134c3e5f28e08acb97a942e35586a4c790f 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -7332,6 +7332,7 @@ void P_MobjThinker(mobj_t *mobj)
 			case MT_ROCKCRUMBLE14:
 			case MT_ROCKCRUMBLE15:
 			case MT_ROCKCRUMBLE16:
+			case MT_WOODDEBRIS:
 				if (mobj->z <= P_FloorzAtPos(mobj->x, mobj->y, mobj->z, mobj->height)
 					&& mobj->state != &states[mobj->info->deathstate])
 				{
@@ -8523,7 +8524,6 @@ void P_MobjThinker(mobj_t *mobj)
 					momz = abs(mobj->momz);
 					if (R_PointToDist2(0, 0, mobj->momx, mobj->momy) < momz)
 						P_InstaThrust(mobj, R_PointToAngle2(0, 0, mobj->momx, mobj->momy), momz);
-					mobj->flags |= MF_NOGRAVITY|MF_NOCLIPHEIGHT;
 					mobj->flags2 |= MF2_AMBUSH;
 					break;
 				}