diff --git a/bob/learn/em/MAP_gmm_trainer.cpp b/bob/learn/em/MAP_gmm_trainer.cpp
index 7c16576c8aad481ea32cfc49e22bfca0bab0b7df..caef230896fb5bbc63dc55369d6f85f58b73c1e2 100644
--- a/bob/learn/em/MAP_gmm_trainer.cpp
+++ b/bob/learn/em/MAP_gmm_trainer.cpp
@@ -70,9 +70,9 @@ static int PyBobLearnEMMAPGMMTrainer_init_base_trainer(PyBobLearnEMMAPGMMTrainer
   double relevance_factor = 4.0;
   double aux = 0;
 
-  PyObject* update_means     = 0;
-  PyObject* update_variances = 0;
-  PyObject* update_weights   = 0;
+  PyObject* update_means     = Py_True;
+  PyObject* update_variances = Py_False;
+  PyObject* update_weights   = Py_False;
   double mean_var_update_responsibilities_threshold = std::numeric_limits<double>::epsilon();
 
   PyObject* keyword_relevance_factor = Py_BuildValue("s", kwlist1[1]);
diff --git a/bob/learn/em/ML_gmm_trainer.cpp b/bob/learn/em/ML_gmm_trainer.cpp
index c125bd495a52b7750a8ba2fa8a370338fb26e545..1ba604e4302d60c5ffb2665913ac8a0765da4d7f 100644
--- a/bob/learn/em/ML_gmm_trainer.cpp
+++ b/bob/learn/em/ML_gmm_trainer.cpp
@@ -57,9 +57,9 @@ static int PyBobLearnEMMLGMMTrainer_init_base_trainer(PyBobLearnEMMLGMMTrainerOb
 
   char** kwlist = ML_GMMTrainer_doc.kwlist(0);
   
-  PyObject* update_means     = 0;
-  PyObject* update_variances = 0;
-  PyObject* update_weights   = 0;
+  PyObject* update_means     = Py_True;
+  PyObject* update_variances = Py_False;
+  PyObject* update_weights   = Py_False;
   double mean_var_update_responsibilities_threshold = std::numeric_limits<double>::epsilon();
 
   if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!|O!O!d", kwlist,