Looks like we need to propogate ErrDead all the way back to the caller