Properly pass the error promise along the chain.