diff --git a/transition_machine/include/Config.hpp b/transition_machine/include/Config.hpp
index 7e5f8a2f9e72b3cc4839e5339379f74451d7f426..a1e4a6cd5ff89ba3fbd4a5f584217b7cecfc0583 100644
--- a/transition_machine/include/Config.hpp
+++ b/transition_machine/include/Config.hpp
@@ -336,6 +336,10 @@ class Config
   void setEntropy(float entropy);
   float getEntropy() const;
   void addToEntropy(float entropy);
+  /// \brief Print a column content for debug purpose.
+  ///
+  /// \param index Index of the column to print.
+  void printColumnInfos(unsigned int index);
 };
 
 #endif
diff --git a/transition_machine/src/ActionBank.cpp b/transition_machine/src/ActionBank.cpp
index ed373d825deda3c980211a0f0478c50820a1b75f..9306c79ff36e3cd5bf1845066579d380e5fcbd06 100644
--- a/transition_machine/src/ActionBank.cpp
+++ b/transition_machine/src/ActionBank.cpp
@@ -354,6 +354,7 @@ std::vector<Action::BasicAction> ActionBank::str2sequence(const std::string & na
 
     auto apply = [](Config & c, Action::BasicAction & ba)
       {
+        ba.data = "";
         auto & govs = c.getTape("GOV");
         int b0 = c.getHead();
         int rootIndex = -1;
@@ -416,6 +417,7 @@ std::vector<Action::BasicAction> ActionBank::str2sequence(const std::string & na
 
     auto apply2 = [b2](Config & c, Action::BasicAction & ba)
       {
+        ba.data = "";
         auto & labels = c.getTape("LABEL");
         int b0 = c.getHead();
         int rootIndex = -1;
diff --git a/transition_machine/src/Config.cpp b/transition_machine/src/Config.cpp
index 758716d1cdf1f90f4356cfceed6895c2c6d125c0..d73382828aa2e6a67428b6e4440c571e8764e104 100644
--- a/transition_machine/src/Config.cpp
+++ b/transition_machine/src/Config.cpp
@@ -619,3 +619,11 @@ void Config::Tape::maskIndex(int index)
   ref.maskIndex(index);
 }
 
+void Config::printColumnInfos(unsigned int index)
+{
+  for (auto & tape : tapes)
+    fprintf(stderr, "%s\t: %s\n", tape.getName().c_str(), tape[index-getHead()].c_str());
+
+  fprintf(stderr, "\n");
+}
+