I don't think the :abort returning code is being handled on the caller, prolly you want to return nil here