diff --git a/src/plugins/eva/api/general_requests.ml b/src/plugins/eva/api/general_requests.ml
index 09b052ace96ce3190cad0681fae8243a912b5787..f1abb0ecb34c9b2c6a33f50b8f1001374af56fbc 100644
--- a/src/plugins/eva/api/general_requests.ml
+++ b/src/plugins/eva/api/general_requests.ml
@@ -73,8 +73,6 @@ let () = Request.register ~package
 
 module Functions =
 struct
-  let key kf = Printf.sprintf "kf#%d" (Kernel_function.get_id kf)
-
   let iter f =
     Globals.Functions.iter
       (fun kf ->
@@ -92,7 +90,8 @@ struct
       ~get:Results.is_called;
 
     States.register_array model
-      ~package ~key
+      ~package
+      ~key:Server.Kernel_ast.Functions.key
       ~name:"functions"
       ~descr:(Markdown.plain "AST Functions")
       ~iter
diff --git a/src/plugins/server/kernel_ast.mli b/src/plugins/server/kernel_ast.mli
index e18092b2f9e96a5852c5a91f7789f47f33d53112..e882f07dd210e4bee0c99f8f3be6d13483a52d47 100644
--- a/src/plugins/server/kernel_ast.mli
+++ b/src/plugins/server/kernel_ast.mli
@@ -95,6 +95,7 @@ end
 
 module Functions :
 sig
+  val key : kernel_function -> string
   val array : kernel_function States.array
 end