Kjellander has reported an algorithm for fairing uniform parametric cubic splines. Poliakoff extended Kjellander’s algorithm to non-uniform case. However, they merely changed the bad point’s position, and neglected the smoothing of tangent at bad point. In this paper, we present a fairing algorithm that both changed point’s position and its corresponding tangent vector. The new algorithm possesses the minimum property of energy. We also proved Poliakoff’s fairing algorithm is a deduction of our fairing algorithm. Several fairing examples are given in this paper.