Index: train_cmd.c
===================================================================
--- train_cmd.c	(revision 742)
+++ train_cmd.c	(working copy)
@@ -1184,15 +1184,14 @@
 
 static void TrainPlayLeaveStationSound(Vehicle *v)
 {
-	static const byte sfx[3] = { 0x2, 0x8, 0x47 };
+	static const byte sfx[3] = { 0x2, 0x8, 0x8 };
 	int engtype = v->engine_type;
 
-	if (_engines[engtype].railtype > 0) {
-		SndPlayVehicleFx(0x41, v);
-		return;
+	switch (_engines[engtype].railtype) {
+		case 0: SndPlayVehicleFx(sfx[_rail_vehicle_info[engtype].engclass], v); break;
+		case 1: SndPlayVehicleFx(0x41, v); break;
+		case 2: SndPlayVehicleFx(0x47, v); break;
 	}
-
-	SndPlayVehicleFx(sfx[_rail_vehicle_info[engtype].engclass], v);
 }
 
 static bool CheckTrainStayInDepot(Vehicle *v)
