diff --git a/src/p_mobj.c b/src/p_mobj.c
index f53f2a7d59ef9372d46e976c77ae62810baf18df..299083b03deae7f85c1be1ae11c0d31c2ff1b7a4 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -7996,16 +7996,6 @@ static void P_MobjSceneryThink(mobj_t *mobj)
 			mobj->frame = (mobj->frame & ~FF_TRANSMASK) | ((10 - (mobj->fuse*2)) << (FF_TRANSSHIFT));
 	}
 	break;
-	case MT_VWREF:
-	case MT_VWREB:
-	{
-		INT32 strength;
-		++mobj->movedir;
-		mobj->frame &= ~FF_TRANSMASK;
-		strength = min(mobj->fuse, (INT32)mobj->movedir)*3;
-		if (strength < 10)
-			mobj->frame |= ((10 - strength) << (FF_TRANSSHIFT));
-	}
 	case MT_FINISHFLAG:
 	{
 		if (!mobj->target || mobj->target->player->playerstate == PST_DEAD || !cv_exitmove.value)
@@ -8013,25 +8003,40 @@ static void P_MobjSceneryThink(mobj_t *mobj)
 			P_RemoveMobj(mobj);
 			return;
 		}
-		
+
 		if (!camera.chase)
 			mobj->flags2 |= MF2_DONTDRAW;
 		else
 			mobj->flags2 &= ~MF2_DONTDRAW;
-		
-		fixed_t radius = FixedMul(10*mobj->info->speed, mobj->target->scale);
-		mobj->angle += FixedAngle(mobj->info->speed);
-		angle_t fa = mobj->angle >> ANGLETOFINESHIFT;
-		
+
 		P_UnsetThingPosition(mobj);
-		
-		mobj->x = mobj->target->x + FixedMul(FINECOSINE(fa),radius);
-		mobj->y = mobj->target->y + FixedMul(FINESINE(fa),radius);
-		mobj->z = mobj->target->z + mobj->target->height/2;
-		
+		{
+			fixed_t radius = FixedMul(10*mobj->info->speed, mobj->target->scale);
+			angle_t fa;
+
+			mobj->angle += FixedAngle(mobj->info->speed);
+
+			fa = mobj->angle >> ANGLETOFINESHIFT;
+
+			mobj->x = mobj->target->x + FixedMul(FINECOSINE(fa),radius);
+			mobj->y = mobj->target->y + FixedMul(FINESINE(fa),radius);
+			mobj->z = mobj->target->z + mobj->target->height/2;
+		}
 		P_SetThingPosition(mobj);
+
 		P_SetScale(mobj, mobj->target->scale);
-	}		
+	}
+	break;
+	case MT_VWREF:
+	case MT_VWREB:
+	{
+		INT32 strength;
+		++mobj->movedir;
+		mobj->frame &= ~FF_TRANSMASK;
+		strength = min(mobj->fuse, (INT32)mobj->movedir)*3;
+		if (strength < 10)
+			mobj->frame |= ((10 - strength) << (FF_TRANSSHIFT));
+	}
 	/* FALLTHRU */
 	default:
 		if (mobj->fuse)