Heterogeneous networks combine different access technologies. An important problem in such networks is the selection of the most suitable radio access network. To perform this task efficiently, a lot of information is required, such as signal strength, QoS, monetary cost, battery consumption, and user preferences. These are well known issues and a considerable effort has been made to tackle them using a number of solutions. These efforts improve the performance of vertical handover but also add considerable complexity. In this paper, we introduce an enhanced algorithm for radio access network selection, which is simple, flexible and applicable to future mobile systems. Its main characteristics are the distribution of the radio access selection process among the mobile terminal and the core network, the evaluation of mobile terminal connections separately and the primary role of user preferences in the final decision. The performance of the algorithm is evaluated through simulation results, which show that the algorithm provides a high rate of user satisfaction. It decreases the messages required for the vertical handovers in the whole network and it alleviates the core network from the processing of unnecessary requests.