diff --git a/src/convert-dg-to-py.cc b/src/convert-dg-to-py.cc
index 249e6a75707441605f8f2f9b1f2c52a6239c19d1..542b67084e4bc20a4b9892fc0f09edd9980aedaa 100644
--- a/src/convert-dg-to-py.cc
+++ b/src/convert-dg-to-py.cc
@@ -132,7 +132,7 @@ namespace dynamicgraph {
 	  }
 	  size = PyTuple_Size(pyObject);
 	  v.resize(size);
-	  for (unsigned int i=0; i<size; i++) {
+	  for (Py_ssize_t i=0; i<size; i++) {
 	    PyObject* pyDouble = PyTuple_GetItem(pyObject, i);
 	    if (PyFloat_Check(pyDouble))
 	      v(i) = PyFloat_AsDouble(pyDouble);
@@ -165,7 +165,7 @@ namespace dynamicgraph {
 	  m.resize((unsigned int)nRows, (unsigned int)nCols);
 	  fillMatrixRow(m, 0, row);
 
-	  for (unsigned int iRow=1; iRow<nRows; iRow++) {
+	  for (Py_ssize_t iRow=1; iRow<nRows; iRow++) {
 	    row = PyTuple_GetItem(pyObject, iRow);
 	    if (!PyTuple_Check(row)) {
 	      throw ExceptionPython(ExceptionPython::MATRIX_PARSING,
diff --git a/src/entity-py.cc b/src/entity-py.cc
index 616b31224072cd49ba618455e95b55baf4712721..9e25e707a45eca3d0d366edb582ff6f70a8c176c 100644
--- a/src/entity-py.cc
+++ b/src/entity-py.cc
@@ -218,7 +218,7 @@ namespace dynamicgraph {
 	  }
 
 	std::vector<Value> valueVector;
-	for (unsigned int iParam=0; iParam<size; iParam++) {
+	for (Py_ssize_t iParam=0; iParam<size; iParam++) {
 	  PyObject* PyValue = PyTuple_GetItem(argTuple, iParam);
 	  Value::Type valueType = typeVector[iParam];
 	  try {