diff --git a/src/manipulation-planner.cc b/src/manipulation-planner.cc
index 4246b61a0917d5f9c13f0e8e7692e6a4e2755afd..aed7a214c9a6fd3c38c152bf4ed195f8730663dd 100644
--- a/src/manipulation-planner.cc
+++ b/src/manipulation-planner.cc
@@ -102,12 +102,12 @@ namespace hpp {
       ErrorFreqs_t ret;
       if (indexPerEdgeStatistics_.size() <= id ||
          indexPerEdgeStatistics_[id] < 0) {
-        for (int i = 0; i < 6; ++i) ret.push_back (0);
+        for (std::size_t i = 0; i < reasons_.size(); ++i) ret.push_back (0);
       } else {
         const SuccessStatistics& ss =
           perEdgeStatistics_[indexPerEdgeStatistics_[id]];
         ret.push_back (ss.nbSuccess ());
-        for (int i = 0; i < 6; ++i)
+        for (std::size_t i = 0; i < reasons_.size(); ++i)
           ret.push_back (ss.nbFailure (reasons_[i]));
       }
       return ret;
@@ -117,7 +117,7 @@ namespace hpp {
     {
       StringList_t ret;
       ret.push_back ("Success");
-      for (int i = 0; i < 6; ++i) ret.push_back (reasons_[i].what);
+      for (std::size_t i = 0; i < reasons_.size(); ++i) ret.push_back (reasons_[i].what);
       return ret;
     }