diff --git a/src/SogKripkeOTF.cpp b/src/SogKripkeOTF.cpp
index 48584c67cc4b5743c23e861f8876dabc883b2a5c..61b6348892270de405b3c5ef74c832e94811d9b3 100644
--- a/src/SogKripkeOTF.cpp
+++ b/src/SogKripkeOTF.cpp
@@ -13,6 +13,7 @@ using namespace spot;
 SogKripkeOTF::SogKripkeOTF(const bdd_dict_ptr &dict_ptr,ModelCheckLace *builder): spot::kripke(dict_ptr),m_builder(builder)
 {
     SogKripkeIteratorOTF::m_builder=builder;
+    SogKripkeStateOTF::m_builder=builder;
     SogKripkeIteratorOTF::m_dict_ptr=&dict_ptr;
 }
 
diff --git a/src/SogKripkeStateOTF.cpp b/src/SogKripkeStateOTF.cpp
index 8c828f256e9e4018cf9285d47eb9f7832806b144..8bc377b94153ff7d57e4a3ccb552c2cc26a3dfe2 100644
--- a/src/SogKripkeStateOTF.cpp
+++ b/src/SogKripkeStateOTF.cpp
@@ -8,3 +8,4 @@ SogKripkeStateOTF::~SogKripkeStateOTF()
     //dtor
 }
 
+static ModelCheckLace * SogKripkeStateOTF::m_builder;
diff --git a/src/SogKripkeStateOTF.h b/src/SogKripkeStateOTF.h
index 7296c12d8844ff68b4bf178ff91521197cdcdb1c..131787c88013f838c94dd4b8fca376ea56bff54b 100644
--- a/src/SogKripkeStateOTF.h
+++ b/src/SogKripkeStateOTF.h
@@ -3,11 +3,15 @@
 
 
 #include "LDDState.h"
+#include "ModelCheckLace.h"
 
 class SogKripkeStateOTF : public spot::state
 {
 public:
-    SogKripkeStateOTF(LDDState *st):m_state(st) {};
+    static ModelCheckLace * m_builder;
+    SogKripkeStateOTF(LDDState *st):m_state(st) {
+            m_builder->buildSucc(st);
+    };
     virtual ~SogKripkeStateOTF();
 
     SogKripkeStateOTF* clone() const override