Transaction throughput is a crucial issue for database systems. Multi-level transactions have been proposed in an attempt to offer improved concurrency of transaction processing by allowing operations that would otherwise be performed serially to take place concurrently. Therefore, it is vital that recovery algorithms do not impede this concurrency by artificially introducing restrictions that otherwise do not need to exist. The ARIES recovery algorithm has had a significant impact on the current thinking on database transaction logging and recovery. Its corresponding extension to multi-level transactions, i.e. ARIES/ML, preserves the unique features of ARIES but places significant restrictions on rollback processing. In this paper, we present an algorithm that solves the so-called ‘golden transaction’ problem of the ARIES/ML algorithm.