This paper considers fault-tolerant control that ensures the safety of a discrete-event system. We consider multiple faulty modes. Each faulty mode is modeled by an automaton. These automata, together with the automaton modeling normal mode, describe a discrete-event system with faults. Each faulty mode has some illegal states that must be avoided by control so that the fault can be tolerated. We assume that fault-tolerant control takes actions (disablements) only when the occurrence of a fault is certain. We consider cases of both full event observation and partial event observation. We derive necessary and sufficient conditions for the existence of fault-tolerant control. We also provide formulas and algorithms to calculate control actions if the necessary and sufficient conditions are satisfied. Both offline control synthesis (for full event observation) and online control synthesis (for partial event observation) are investigated. We allow multiple faults as well as single faults.