If this returns -1 do we need to consume the error off the stack?