diff --git a/bob/learn/em/cpp/GMMBaseTrainer.cpp b/bob/learn/em/cpp/GMMBaseTrainer.cpp
index a48a52015055db38703e7fb3486ebee4dbbed927..fac247b8ac8cc00dbddb8490a7d06882056d6528 100644
--- a/bob/learn/em/cpp/GMMBaseTrainer.cpp
+++ b/bob/learn/em/cpp/GMMBaseTrainer.cpp
@@ -31,6 +31,7 @@ void bob::learn::em::GMMBaseTrainer::initialize(bob::learn::em::GMMMachine& gmm)
 {
   // Allocate memory for the sufficient statistics and initialise
   m_ss->resize(gmm.getNGaussians(),gmm.getNInputs());
+  gmm.setVarianceThresholds(this->m_mean_var_update_responsibilities_threshold);
 }
 
 void bob::learn::em::GMMBaseTrainer::eStep(bob::learn::em::GMMMachine& gmm,
diff --git a/bob/learn/em/data/gmm_ML.hdf5 b/bob/learn/em/data/gmm_ML.hdf5
index 238cd7e14f5e4ab92e505221f200cdba368cb593..74269fe3d824aa877e59609097828ee922d5dbc4 100644
Binary files a/bob/learn/em/data/gmm_ML.hdf5 and b/bob/learn/em/data/gmm_ML.hdf5 differ
diff --git a/bob/learn/em/data/gmm_ML_32bit_debug.hdf5 b/bob/learn/em/data/gmm_ML_32bit_debug.hdf5
index 275381b7e7573e060009a15220f092cfa323a1eb..d9c6fa5fd48928ac4df9798671e80e82b2c80aa3 100644
Binary files a/bob/learn/em/data/gmm_ML_32bit_debug.hdf5 and b/bob/learn/em/data/gmm_ML_32bit_debug.hdf5 differ
diff --git a/bob/learn/em/data/gmm_ML_32bit_release.hdf5 b/bob/learn/em/data/gmm_ML_32bit_release.hdf5
index 438e9932cecf179d1b834e2f5c19d39a7c906cf3..aecb23f1b5727da0581871b315fda9ac69d932cf 100644
Binary files a/bob/learn/em/data/gmm_ML_32bit_release.hdf5 and b/bob/learn/em/data/gmm_ML_32bit_release.hdf5 differ