Abstract: A navigation system prevents a vehicle from deviating from a new optimal route immediately after the new optimal route has been computed following the first deviation of the vehicle from an original optimal route. The system does this by determining the present location of the vehicle and searching road network data in a map database for a plurality of locations that are farther away from the present location than a distance travelled by the vehicle during recomputation of a new optimal route. These locations are selected as candidate new starting points. Then the system recomputes an optimal route from each of the candidate starting points to the destination. After the recomputation, the present location of the vehicle is read into the system, and an optimal route from the present location to each candidate starting point is computed.