A finite element contact analysis algorithm has to pass the so-called patch test. In this work, a new algorithm based on one-pass approach is proposed. In this algorithm, the virtual work due to contact force is evaluated by integrating it on the contact surface. Furthermore, the nodal contact pressure in the master contact surface is transmitted from that in the slave contact surface by projecting the master node onto the slave element. In this way, the proposed algorithm is enabled to evaluate correctly the equivalent nodal force due to contact yielding the success in the patch test. The effectiveness of the new algorithm is verified by a couple of numerical examples.