Predicting arrival times of buses is a key challenge in the context of building intelligent public transportation systems. In this paper, we describe an efficient non-parametric algorithm which provides highly accurate predictions based on real-time GPS measurements. The key idea is to use a Kernel Regression model to represent the dependencies between position updates and the arrival times at bus stops. The performance of the proposed algorithm is evaluated on real data from the public bus transportation system in Dublin, Ireland. For a time horizon of 50 minutes, the prediction error of the algorithm is less than 10 percent on average. It clearly outperforms parametric methods which use a Linear Regression model, predictions based on the K-Nearest Neighbor algorithm, and a system which computes predictions of arrival times based on the current delay of buses. A study investigating the selection of interpolation points to reduce the size of the training set concludes the paper.