diff --git a/src/plugins/e-acsl/logic_functions.ml b/src/plugins/e-acsl/logic_functions.ml
index ff5faa2a95145f4b881ca7b0fd08993bd8b325ab..516127af0152b37cf6957d36af37a31f008cbbd9 100644
--- a/src/plugins/e-acsl/logic_functions.ml
+++ b/src/plugins/e-acsl/logic_functions.ml
@@ -327,7 +327,10 @@ module Memo = Hashtbl.Make(struct
       Cil_datatype.Logic_type.equal
       lfs1.lfs_args_lty
       lfs2.lfs_args_lty
-  let hash = Hashtbl.hash
+  let hash lfs =
+    Cil_datatype.Logic_info.hash lfs.lfs_li
+    + 257 * let module L = Datatype.List(Cil_datatype.Logic_type) in
+            L.hash (lfs.lfs_lty :: lfs.lfs_args_lty)
 end)
 
 let tbl = Memo.create 7