Fix possible retain cycle