I'm not sure this is necessary, doesn't QS.delete() include its own transaction handling?