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 ). <EOS>