Avoid reintroducing #610, updates the fix to #804

We might as well mess with avoid freeing the req pointer
only when failures occur, otherwise perform as before