diff --git a/src/p_map.c b/src/p_map.c
index f187897aa..fbea6c271 100644
--- a/src/p_map.c
+++ b/src/p_map.c
@@ -870,21 +870,18 @@ static boolean PIT_CheckThing(mobj_t *thing)
 		}
 	}
 
-	if (thing->type == MT_SALOONDOOR)
+	if (thing->type == MT_SALOONDOOR && tmthing->player)
 	{
-		if (tmthing->player)
+		mobj_t *ref = (tmthing->player->powers[pw_carry] == CR_MINECART && tmthing->tracer && !P_MobjWasRemoved(tmthing->tracer)) ? tmthing->tracer : tmthing;
+		if ((thing->flags & MF2_AMBUSH) || ref != tmthing)
 		{
-			mobj_t *ref = (tmthing->player->powers[pw_carry] == CR_MINECART && tmthing->tracer && !P_MobjWasRemoved(tmthing->tracer)) ? tmthing->tracer : tmthing;
-			if ((thing->flags & MF2_AMBUSH) || ref != tmthing)
-			{
-				fixed_t dm = min(FixedHypot(ref->momx, ref->momy), 16*FRACUNIT);
-				angle_t ang = R_PointToAngle2(0, 0, ref->momx, ref->momy) - thing->angle;
-				fixed_t s = FINESINE((ang >> ANGLETOFINESHIFT) & FINEMASK);
-				S_StartSound(tmthing, thing->info->activesound);
-				thing->extravalue2 += 2*FixedMul(s, dm)/3;
-			}
+			fixed_t dm = min(FixedHypot(ref->momx, ref->momy), 16*FRACUNIT);
+			angle_t ang = R_PointToAngle2(0, 0, ref->momx, ref->momy) - thing->angle;
+			fixed_t s = FINESINE((ang >> ANGLETOFINESHIFT) & FINEMASK);
+			S_StartSound(tmthing, thing->info->activesound);
+			thing->extravalue2 += 2*FixedMul(s, dm)/3;
+			return true;
 		}
-		return true;
 	}
 
 	if (thing->type == MT_SALOONDOORCENTER && tmthing->player)