diff --git a/bob/learn/em/cpp/KMeansTrainer.cpp b/bob/learn/em/cpp/KMeansTrainer.cpp
index 9ab18d69581b5b2528b00798ccf088391ff3d72f..0c6e3c6da2e8de4addd0e97ead72086952c23329 100644
--- a/bob/learn/em/cpp/KMeansTrainer.cpp
+++ b/bob/learn/em/cpp/KMeansTrainer.cpp
@@ -24,11 +24,11 @@ m_firstOrderStats(0)
 
 
 bob::learn::em::KMeansTrainer::KMeansTrainer(const bob::learn::em::KMeansTrainer& other){
-    
-  m_initialization_method = other.m_initialization_method;  
+
+  m_initialization_method = other.m_initialization_method;
   m_rng                   = other.m_rng;
   m_average_min_distance  = other.m_average_min_distance;
-  m_zeroethOrderStats     = bob::core::array::ccopy(other.m_zeroethOrderStats); 
+  m_zeroethOrderStats     = bob::core::array::ccopy(other.m_zeroethOrderStats);
   m_firstOrderStats       = bob::core::array::ccopy(other.m_firstOrderStats);
 }
 
@@ -160,9 +160,6 @@ void bob::learn::em::KMeansTrainer::initialize(bob::learn::em::KMeansMachine& km
       kmeans.setMean(m, new_mean);
     }
   }
-   // Resize the accumulator
-  m_zeroethOrderStats.resize(kmeans.getNMeans());
-  m_firstOrderStats.resize(kmeans.getNMeans(), kmeans.getNInputs());
 }
 
 void bob::learn::em::KMeansTrainer::eStep(bob::learn::em::KMeansMachine& kmeans,
@@ -206,12 +203,16 @@ double bob::learn::em::KMeansTrainer::computeLikelihood(bob::learn::em::KMeansMa
 }
 
 
-bool bob::learn::em::KMeansTrainer::resetAccumulators(bob::learn::em::KMeansMachine& kmeans)
+void bob::learn::em::KMeansTrainer::resetAccumulators(bob::learn::em::KMeansMachine& kmeans)
 {
+   // Resize the accumulator
+  m_zeroethOrderStats.resize(kmeans.getNMeans());
+  m_firstOrderStats.resize(kmeans.getNMeans(), kmeans.getNInputs());
+
+  // initialize with 0
   m_average_min_distance = 0;
   m_zeroethOrderStats = 0;
   m_firstOrderStats = 0;
-  return true;
 }
 
 void bob::learn::em::KMeansTrainer::setZeroethOrderStats(const blitz::Array<double,1>& zeroethOrderStats)
@@ -225,4 +226,3 @@ void bob::learn::em::KMeansTrainer::setFirstOrderStats(const blitz::Array<double
   bob::core::array::assertSameShape(m_firstOrderStats, firstOrderStats);
   m_firstOrderStats = firstOrderStats;
 }
-
diff --git a/bob/learn/em/include/bob.learn.em/KMeansTrainer.h b/bob/learn/em/include/bob.learn.em/KMeansTrainer.h
index de590202458756e5877973b70bc64031832f7ec5..8845b50984d28a83d47483f122b62a0e57f6ac6e 100644
--- a/bob/learn/em/include/bob.learn.em/KMeansTrainer.h
+++ b/bob/learn/em/include/bob.learn.em/KMeansTrainer.h
@@ -105,7 +105,7 @@ class KMeansTrainer
      * @brief Reset the statistics accumulators
      * to the correct size and a value of zero.
      */
-    bool resetAccumulators(bob::learn::em::KMeansMachine& kMeansMachine);
+    void resetAccumulators(bob::learn::em::KMeansMachine& kMeansMachine);
 
     /**
      * @brief Sets the Random Number Generator
@@ -144,7 +144,7 @@ class KMeansTrainer
 
 
   private:
-  
+
     /**
      * @brief The initialization method
      * Check that there is no duplicated means during the random initialization