diff --git a/npf.c b/npf.c
index 430c03ebb5..c8b456c203 100644
--- a/npf.c
+++ b/npf.c
@@ -764,10 +764,10 @@ void NPFFillWithOrderData(NPFFindStationOrTileData* fstd, Vehicle* v) {
* So only for train orders to stations we fill fstd->station_index, for all
* others only dest_coords */
if ((v->current_order.type) == OT_GOTO_STATION && v->type == VEH_Train) {
+ const Station* st = GetStation(v->current_order.station);
+ TileIndexDiffC center = {st->trainst_w/2, st->trainst_h/2};
fstd->station_index = v->current_order.station;
/* Let's take the center of the station as our target tile for trains */
- Station* st = GetStation(v->current_order.station);
- TileIndexDiffC center = {st->trainst_w/2, st->trainst_h/2};
fstd->dest_coords = TILE_ADD(st->train_tile, ToTileIndexDiff(center));
} else {
fstd->dest_coords = v->dest_tile;
diff --git a/ttd.dsp b/ttd.dsp
index 3f4a8b5dbd..b4151cddb0 100644
--- a/ttd.dsp
+++ b/ttd.dsp
@@ -264,6 +264,10 @@ SOURCE=.\network.c
SOURCE=.\newgrf.c
# End Source File
+# Begin Source File
+SOURCE=.\npf.c
+# End Source File
+
# Begin Source File
SOURCE=.\oldloader.c
# End Source File
@@ -501,6 +505,10 @@ SOURCE=.\network.h
SOURCE=.\news.h
# End Source File
+# Begin Source File
+SOURCE=.\npf.h
+# End Source File
+
# Begin Source File
SOURCE=.\pathfind.h
# End Source File
diff --git a/ttd.vcproj b/ttd.vcproj
index 0718b90dfb..04cfaf0b72 100644
--- a/ttd.vcproj
+++ b/ttd.vcproj
@@ -600,6 +600,9 @@
+
+
+
+