It would appear that in: if((Location=="Glasgow (Queen Street)")&&(route=="1A22")) { Train.SetRoute("0A22"); Train.QueryTimetable(); Train.SetNote("LE to Eastfield Shed"); } the brackets round Queen Street are confusing the script and not seeing the if statement as .TRUE. "Glasgow Queen Street" does work.