diff --git a/reading_machine/src/BaseConfig.cpp b/reading_machine/src/BaseConfig.cpp
index f3a1ed9b833a6a9f1c222c978802044842e89e48..1eb719e9c47033f0b09c300da7274e80ba4ebbf3 100644
--- a/reading_machine/src/BaseConfig.cpp
+++ b/reading_machine/src/BaseConfig.cpp
@@ -128,6 +128,10 @@ void BaseConfig::readTSVInput(std::string_view tsvFilename)
     if ((int)splited.size() != usualNbCol)
       util::myThrow(fmt::format("in file {} line {} is invalid, it shoud have {} columns", tsvFilename, line, usualNbCol));
 
+    // Ignore empty nodes
+    if (hasColIndex(idColName) && splited[getColIndex(idColName)].find('.') != std::string::npos)
+      continue;
+
     addLines(1);
     get(EOSColName, getNbLines()-1, 0) = EOSSymbol0;