diff --git a/quapy/method/aggregative.py b/quapy/method/aggregative.py
index 151dd2e..5e9268b 100644
--- a/quapy/method/aggregative.py
+++ b/quapy/method/aggregative.py
@@ -524,7 +524,7 @@ class ThresholdOptimization(AggregativeQuantifier, BinaryQuantifier):
         ...
 
     def fit(self, data: LabelledCollection, fit_learner=True, val_split: Union[float, int, LabelledCollection] = None):
-        BinaryQuantifier._check_binary(data, "Threshold Optimization")
+        self._check_binary(data, "Threshold Optimization")
 
         if val_split is None:
             val_split = self.val_split
@@ -643,6 +643,9 @@ class MS(ThresholdOptimization):
     def __init__(self, learner: BaseEstimator, val_split=0.4):
         super().__init__(learner, val_split)
 
+    def _condition(self, tpr, fpr) -> float:
+        pass
+
     def optimize_threshold(self, y, probabilities):
         tprs = []
         fprs = []
diff --git a/quapy/method/base.py b/quapy/method/base.py
index 0c2729f..64fdff4 100644
--- a/quapy/method/base.py
+++ b/quapy/method/base.py
@@ -39,6 +39,7 @@ class BaseQuantifier(metaclass=ABCMeta):
 
 
 class BinaryQuantifier(BaseQuantifier):
+
     def _check_binary(self, data: LabelledCollection, quantifier_name):
         assert data.binary, f'{quantifier_name} works only on problems of binary classification. ' \
                             f'Use the class OneVsAll to enable {quantifier_name} work on single-label data.'
diff --git a/quapy/model_selection.py b/quapy/model_selection.py
index 5fd21a7..1080db0 100644
--- a/quapy/model_selection.py
+++ b/quapy/model_selection.py
@@ -20,7 +20,7 @@ class GridSearchQ(BaseQuantifier):
                  n_repetitions: int = 1,
                  eval_budget: int = None,
                  error: Union[Callable, str] = qp.error.mae,
-                 refit=False,
+                 refit=True,
                  val_split=0.4,
                  n_jobs=1,
                  random_seed=42,