diff --git a/ivette/src/frama-c/server.ts b/ivette/src/frama-c/server.ts
index b110462dc795dd30a01d4c640724f66d43c2042c..99674f1bf4f0e347db90118a8d8a076aad0f41d3 100644
--- a/ivette/src/frama-c/server.ts
+++ b/ivette/src/frama-c/server.ts
@@ -880,7 +880,10 @@ client.onKilled((id: string) => {
 client.onRejected((id: string) => {
   const p = pending.get(id);
   if (p) {
-    p.reject('rejected');
+    const err =
+     'Request rejected by Frama-C: the related plugin may not be loaded, ' +
+     'or the Frama-C version is incompatible.';
+    p.reject(err);
     _resolved(id);
     logModel.registerRequest(
       { rid: id, statut: statutLog.REJECTED }
diff --git a/src/plugins/server/main.ml b/src/plugins/server/main.ml
index 26ee92e40da3d479df6a923bde052d980016a62d..7d8043afb662f534b21a71526c86ba65467ef608 100644
--- a/src/plugins/server/main.ml
+++ b/src/plugins/server/main.ml
@@ -279,6 +279,7 @@ let process_request (server : 'a server) (request : 'a request) : unit =
     begin
       match find request with
       | None ->
+        Senv.warning ~once:true "Unknown request %s" request ;
         Senv.debug "Rejected %a" server.pretty id ;
         Queue.push (`Rejected id) server.q_out
       | Some( kind , handler ) ->