diff --git a/src/plugins/markdown-report/META.in b/src/plugins/markdown-report/META.in
index 75396188206df1341f30f1f7c28adc067aa2acb6..28043759d7571d4c856d12af47d511f662f0a1ef 100644
--- a/src/plugins/markdown-report/META.in
+++ b/src/plugins/markdown-report/META.in
@@ -5,3 +5,8 @@ archive(byte) = "top/Markdown_report.cmo"
 archive(native) = "top/Markdown_report.cmx"
 plugin(native) = "top/Markdown_report.cmxs"
 plugin(byte) = "top/Markdown_report.cmo"
+package "eva_info" (
+  requires = "frama-c-markdown_report frama-c-eva"
+  plugin(native) = "top/eva_info.cmxs"
+  plugin(byte) = "top/eva_info.cmo"
+)
diff --git a/src/plugins/markdown-report/mdr_register.ml b/src/plugins/markdown-report/mdr_register.ml
index c426fe4121ecdd3b73a2a5d997d94d6a235c0052..800c08408b1aca2b6d2aa93daaffca19532486a6 100644
--- a/src/plugins/markdown-report/mdr_register.ml
+++ b/src/plugins/markdown-report/mdr_register.ml
@@ -23,19 +23,8 @@
 let load_eva_info () =
   if not !Md_gen.Eva_info.loaded && Dynamic.is_loaded "frama-c-eva"
   then begin
-    let eva_info = "top/eva_info.cmo" in
-    try
-      List.iter
-        (fun dir ->
-           let path = dir ^ "/" ^ eva_info in
-           if Sys.file_exists path then begin
-             Dynamic.load_module (dir ^ "/" ^ eva_info);
-             (* do not try to load it twice. *)
-             raise Exit
-           end)
-        Fc_config.plugin_dir;
-      Mdr_params.warning "Impossible to load Eva-specific operations"
-    with Exit -> ()
+    let eva_info = "frama-c-markdown_report.eva_info" in
+    Dynamic.load_packages [eva_info];
   end
 
 (*  end *)