diff --git a/include/dynamic-graph/exception-abstract.h b/include/dynamic-graph/exception-abstract.h
index 01a8a436396f91522818585d7f59a4a3fbd76731..548fb77bbe9b101d297e656ab5545cb8bdf28af5 100644
--- a/include/dynamic-graph/exception-abstract.h
+++ b/include/dynamic-graph/exception-abstract.h
@@ -80,7 +80,7 @@ public:
   int getCode (void);
 
   /** Reference access to the error message (can be empty). */
-  const std::string &getStringMessage (void);
+  const std::string& getStringMessage (void) const;
 
   /** Access to the pointer on the array of  \e char related to the error string.
    * Cannot be  \e NULL.
diff --git a/src/exception/exception-abstract.cpp b/src/exception/exception-abstract.cpp
index 923e649ba3991fe5ecf4529b62dd2942ac598494..4aee58381f05b9d7e7546c1dcfd7aa8976709a77 100644
--- a/src/exception/exception-abstract.cpp
+++ b/src/exception/exception-abstract.cpp
@@ -54,8 +54,8 @@ getMessage (void)
     return (this->message) .c_str();
 }
 
-const string &ExceptionAbstract::
-getStringMessage (void)
+const string& ExceptionAbstract::
+getStringMessage (void) const
 {
     return this->message;
 }