diff --git a/src/entity-py.cc b/src/entity-py.cc
index 58ba371c19c99a8d51f9b775db75af1deda52431..86255cc1d9b7ae68dcafe50bad6489e07f2daa69 100644
--- a/src/entity-py.cc
+++ b/src/entity-py.cc
@@ -226,6 +226,10 @@ namespace dynamicgraph {
 	  return Value(dvalue);
 	  break;
 	case (Value::STRING) :
+	  if (!PyString_Check(pyObject)) {
+	    throw ExceptionFactory(ExceptionFactory::GENERIC,
+				   "string");
+	  }
 	  svalue = PyString_AsString(pyObject);
 	  return Value(svalue);
 	  break;