Indeed. Also, I would rename `_predict_binary` as `_binary_decision_score` and remove the .5 inside that function directly when `predict_proba` is used to always return a threshold of 0 and make the code slightly easier to follow (but that won't help fixing the `predict_ovr` problems you spotted though).