Backward error recovery (that is, resetting an erroneous state of a system to a pevious error-free state) is an important general technique for recovery from faults in a system, especially those faults which were not foreseen. However, the provision of backward error recovery can be complex, particularly if the implementation of the system is ""multi-level"" and recovery is to be provided at a nmber of these levels. This paper discusses two distinct categories of multi-level system, and then examines in detail the issues involved in providing bacward error recovery in both types of system.