diff --git a/src/plugins/e-acsl/doc/Changelog b/src/plugins/e-acsl/doc/Changelog
index a0cc7fef9f4fe68dc42641c984c7738272eefd99..67f02e5bfa9ed50c48c8d322d91c91dabdfa64dc 100644
--- a/src/plugins/e-acsl/doc/Changelog
+++ b/src/plugins/e-acsl/doc/Changelog
@@ -15,6 +15,7 @@
 #   E-ACSL: the Whole E-ACSL plug-in
 ###############################################################################
 
+-* E-ACSL       [2014/08/05] Fix bug #1838 about memset.
 -* E-ACSL       [2014/08/05] Fix bug #1818 about initialization of globals.
 -* E-ACSL       [2014/08/04] Fix bug #1696 by clarifying the manual.
 -* E-ACSL       [2014/08/04] Fix bug #1831 about argc and argv.
diff --git a/src/plugins/e-acsl/share/e-acsl/memory_model/e_acsl_mmodel.c b/src/plugins/e-acsl/share/e-acsl/memory_model/e_acsl_mmodel.c
index cb1d9e85836e60ef9322c8fee3868475cc8b879d..3d23927247e3e99d24a8d7b4785c72eaa7f35887 100644
--- a/src/plugins/e-acsl/share/e-acsl/memory_model/e_acsl_mmodel.c
+++ b/src/plugins/e-acsl/share/e-acsl/memory_model/e_acsl_mmodel.c
@@ -47,7 +47,7 @@ void __warning(const char* fct_name) {
 }
 
 
-void* __e_acsl_memset (void* dest, int val, size_t len) {
+void* __e_acsl_mmodel_memset (void* dest, int val, size_t len) {
   unsigned char *ptr = (unsigned char*)dest;
   while (len-- > 0)
     *ptr++ = val;
@@ -175,7 +175,7 @@ void* __realloc(void* ptr, size_t size) {
     else {
       int nb = needed_bytes(size);
       tmp->init_ptr = malloc(nb);
-      __e_acsl_memset(tmp->init_ptr, 0xFF, nb);
+      __e_acsl_mmodel_memset(tmp->init_ptr, 0xFF, nb);
       if(size%8 != 0)
 	tmp->init_ptr[size/8] <<= (8 - size%8);
     }
@@ -242,7 +242,7 @@ void __initialize (void * ptr, size_t size) {
   if(tmp->init_cpt == 0) {
     int nb = needed_bytes(tmp->size);
     tmp->init_ptr = malloc(nb);
-    __e_acsl_memset(tmp->init_ptr, 0, nb);
+    __e_acsl_mmodel_memset(tmp->init_ptr, 0, nb);
   }
 
   for(i = 0; i < size; i++) {