Fixes the issue in LP #1331744 comment #2

no thanks. we're already breaking the error handling tradition of Go here.

There are two expected states

err == nil, status is some expected value, this could be nil, but again traditionally you don't return nil as a sentinel value that something happened, that is what the err is for.
err != nil, status is unknown.

We're in the second state, so the state of state is unknown. All we can do is check that it is actually nil and if it is bail out completely. If it isn't nil then we'll try to pass it to the function and it'll have to figure out what to do.