We study entanglement purification with imperfect operations. We propose a novel entanglement purification protocol through double selection process. This protocol works with high noise thresholds for the communication channels and local operations, and achieves high fidelity of purified states. Furthermore this protocol requires comparable or even less purification resources than the conventional ones. We also consider an interesting relationship between the entanglement purification and fault-tolerant computation, which provides a tight upper bound on the noise threshold for the fault-tolerant computation.