diff --git a/transition_machine/src/Oracle.cpp b/transition_machine/src/Oracle.cpp
index 097a7a3128e03fb74eb81ce91e7112cc6733b884..a6035323c27c8578fed78c3ae1cd41ff4cba617b 100644
--- a/transition_machine/src/Oracle.cpp
+++ b/transition_machine/src/Oracle.cpp
@@ -406,6 +406,11 @@ void Oracle::createDatabase()
       newState = "lemmatizer_rules";
       movement = 0;
     }
+    else if (previousAction == "nothing")
+    {
+      newState = "lemmatizer_lookup";
+      movement = 1;
+    }
     else
     {
       newState = "lemmatizer_lookup";
@@ -676,6 +681,16 @@ void Oracle::createDatabase()
     const std::string & form = c.getTape("FORM")[0];
     const std::string & pos = c.getTape("POS")[0];
     std::string lemma;
+
+    if (c.hasTape("ID"))
+    {
+      auto & id = c.getTape("ID")[0];
+      if (!id.empty())
+      {
+        if (util::split(id, '-').size() > 1)
+          return std::string("NOTHING");
+      }
+    }
     
     if (oracle->data.count(form + "_" + pos))
       lemma = oracle->data[form + "_" + pos];