diff -r a9da606dfcce src/newgrf_engine.cpp --- a/src/newgrf_engine.cpp Sat Jan 14 19:44:25 2012 +0000 +++ b/src/newgrf_engine.cpp Wed Feb 08 19:58:39 2012 -0500 @@ -613,7 +613,7 @@ case 0x4A: { if (v->type != VEH_TRAIN) return 0; RailType rt = GetTileRailType(v->tile); - return (HasPowerOnRail(Train::From(v)->railtype, rt) ? 0x100 : 0) | GetReverseRailTypeTranslation(rt, object->grffile); + return ((GetRailTypeInfo(rt)->max_speed << 16) | HasPowerOnRail(Train::From(v)->railtype, rt) ? 0x100 : 0) | GetReverseRailTypeTranslation(rt, object->grffile); } case 0x4B: // Long date of last service