An accurate estimation of fingerprint orientation fields is an essential step in the overall fingerprint recognition process. Conventional gradient-based approaches are popular but very sensitive to noise. In this paper, we propose a novel implementation to improve the performance of gradient-based methods. The enhanced algorithm chooses the best orientation estimate from four overlapping neighborhoods of every image block, where the voting scheme is based on the reliability measures. We test our algorithm on real fingerprint images. The experiment results suggest that our enhanced algorithm achieves visibly better noise resistance with modest computation time in comparison with other gradient-based methods.