diff --git a/transition_machine/src/Config.cpp b/transition_machine/src/Config.cpp
index 69c3b509c80ab5ffa80ce5c079aabc691f79500c..c741a1414be7cbd9d1f3a170b21aca61c77d48ef 100644
--- a/transition_machine/src/Config.cpp
+++ b/transition_machine/src/Config.cpp
@@ -437,17 +437,12 @@ void Config::addToEntropyHistory(float entropy)
 
 std::size_t Config::computeHash()
 {
-  static int window = 10;
-
-  int start = std::max(0, head-window);
-  int end = std::min(tapes[0].refSize()-1, head+window);
-
-  std::hash<std::string> hasher;
+  static std::hash<std::string> strhasher;
+  static std::hash<int> inthasher;
   std::size_t result = 0;
 
-  for (int i = start; i < end; i++)
-    for (auto & tape : tapes)
-      result ^= (hasher(tape[i-head])*0x9e3779b9+(result << 6)+(result >>2));
+  result ^= (strhasher(currentStateName)*0x9e3779b9+(result << 6)+(result >>2));
+  result ^= (inthasher(getHead())*0x9e3779b9+(result << 6)+(result >>2));
 
   return result;
 }