diff --git a/src/p_mobj.c b/src/p_mobj.c
index 2bb2cc02891cb9fa3deb6a2c5c6f699c0d50db9c..faee245d3b9e2f63e39eeedda617d20134c7ddd5 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -8001,8 +8001,9 @@ static void P_MobjSceneryThink(mobj_t *mobj)
 		}
 		if (mobj->fuse < 0)
 			return;
-		if ((--mobj->fuse) < 6)
+		if (mobj->fuse < 6)
 			mobj->frame = (mobj->frame & ~FF_TRANSMASK) | ((10 - (mobj->fuse*2)) << (FF_TRANSSHIFT));
+		mobj->fuse--;
 	}
 	break;
 	case MT_FINISHFLAG:
@@ -11594,7 +11595,7 @@ void P_AfterPlayerSpawn(INT32 playernum)
 
 	if (CheckForReverseGravity)
 		P_CheckGravity(mobj, false);
-	
+
 	if (p->pflags & PF_FINISHED)
 		P_GiveFinishFlags(p);
 }