diff --git a/bob/learn/misc/main.cpp b/bob/learn/misc/main.cpp
index 8b683b3a473dfc628eb494e1a552d166eaed2888..fb8b2a57798d2dc6393e612f51024882b9c5d674 100644
--- a/bob/learn/misc/main.cpp
+++ b/bob/learn/misc/main.cpp
@@ -43,7 +43,9 @@ static PyObject* create_module (void) {
   if (!init_BobLearnMiscGaussian(module)) return 0;
   if (!init_BobLearnMiscGMMStats(module)) return 0;
   if (!init_BobLearnMiscGMMMachine(module)) return 0;
-  if (!init_BobLearnMiscKMeansMachine(module)) return 0;  
+  if (!init_BobLearnMiscKMeansMachine(module)) return 0; 
+  if (!init_BobLearnMiscKMeansTrainer(module)) return 0;  
+
 
   static void* PyBobLearnMisc_API[PyBobLearnMisc_API_pointers];
 
diff --git a/bob/learn/misc/main.h b/bob/learn/misc/main.h
index 2f727f36d67abd096d4bbe1c4c0b9b2e11deae5a..08d391944470a10545936acd66fdd26358e79d57 100644
--- a/bob/learn/misc/main.h
+++ b/bob/learn/misc/main.h
@@ -105,5 +105,16 @@ bool init_BobLearnMiscKMeansMachine(PyObject* module);
 int PyBobLearnMiscKMeansMachine_Check(PyObject* o);
 
 
+// KMeansTrainer
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::misc::KMeansTrainer> cxx;
+} PyBobLearnMiscKMeansTrainerObject;
+
+extern PyTypeObject PyBobLearnMiscKMeansTrainer_Type;
+bool init_BobLearnMiscKMeansTrainer(PyObject* module);
+int PyBobLearnMiscKMeansTrainer_Check(PyObject* o);
+
+
 
 #endif // BOB_LEARN_EM_MAIN_H