A method of handling roaming in a train-to-trackside wireless network, the network comprising a plurality of access points deployed along a railway track and one or more train access terminals installed on-board at least one train, the method comprising: determining, by an access point (AP i) of the plurality of access points currently associated with a train access terminal installed on-board a train, a list of candidate access points (N i) of the plurality of access points for the train access terminal, based on the direction of travel (d) and the route followed by the train; receiving, by the access point (AP i), radio measurements of signals received by the train access terminal from access points of the train-to-trackside wireless network; determining, by the access point (AP i), based on the received radio measurements, a next access point (AP next), said next access point (AP next) being the access point providing the highest signal quality (maxSQ) according to a quality metric; evaluating, by the access point (AP i), compliance with a set of roaming criteria, the roaming criteria including: the next access point (AP next) is included in the list of candidate access points (N i); the amount of time elapsed since the last roaming performed by the train access terminal exceeds a minimum permanency time (t p); the highest signal quality (maxSQ) exceeds the signal quality (SQ(i)) of the access point (AP i) currently associated with the train access terminal by at least a roaming margin; if the roaming criteria are met, sending, by the access point (AP i), a roaming command instructing the train access terminal to roam from the access point (AP i) currently associated with the train access terminal to the next access point (AP next). determining, by an access point (AP i) of the plurality of access points currently associated with a train access terminal installed on-board a train, a list of candidate access points (N i) of the plurality of access points for the train access terminal, based on the direction of travel (d) and the route followed by the train; receiving, by the access point (AP i), radio measurements of signals received by the train access terminal from access points of the train-to-trackside wireless network; determining, by the access point (AP i), based on the received radio measurements, a next access point (AP next), said next access point (AP next) being the access point providing the highest signal quality (maxSQ) according to a quality metric; evaluating, by the access point (AP i), compliance with a set of roaming criteria, the roaming criteria including: the next access point (AP next) is included in the list of candidate access points (N i); the amount of time elapsed since the last roaming performed by the train access terminal exceeds a minimum permanency time (t p); the highest signal quality (maxSQ) exceeds the signal quality (SQ(i)) of the access point (AP i) currently associated with the train access terminal by at least a roaming margin; the next access point (AP next) is included in the list of candidate access points (N i); the amount of time elapsed since the last roaming performed by the train access terminal exceeds a minimum permanency time (t p); the highest signal quality (maxSQ) exceeds the signal quality (SQ(i)) of the access point (AP i) currently associated with the train access terminal by at least a roaming margin; if the roaming criteria are met, sending, by the access point (AP i), a roaming command instructing the train access terminal to roam from the access point (AP i) currently associated with the train access terminal to the next access point (AP next).