diff --git a/src/logging.ml b/src/logging.ml
index 582d008575f522f63b4ecc2d226fc90d206785b4..48652af5d04c0abacdf8d205725a2d0a8097bd8d 100644
--- a/src/logging.ml
+++ b/src/logging.ml
@@ -73,8 +73,8 @@ let setup style_renderer level srcs =
 
 exception Code_error
 
-let code_error ?src f =
-  Logs.err ?src (fun m ->
+let code_error ~src f =
+  Logs.err ~src (fun m ->
     let report_with_msg ?header:_ ?tags:_ fmt =
       m
         ("@[<v>" ^^ fmt
@@ -86,11 +86,11 @@ let code_error ?src f =
 
 exception User_error
 
-let user_error ?src ?loc f =
+let user_error ?loc f =
   (match loc with
-  | None -> Logs.err ?src f
+  | None -> Logs.err f
   | Some loc ->
-    Logs.err ?src (fun m ->
+    Logs.err (fun m ->
       let report_with_loc ?header:_ ?tags:_ fmt =
         m ("@[%a:@ " ^^ fmt ^^ "@]") Why3.Loc.pp_position loc
       in
diff --git a/src/logging.mli b/src/logging.mli
index 1722e73a9b97138c5f6c88dafca7f22af06b3dc8..6410b1a5911380629712fbc874a397d3808b97f6 100644
--- a/src/logging.mli
+++ b/src/logging.mli
@@ -39,11 +39,10 @@ val setup :
 
 val is_debug_level : Logs.src -> bool
 
-val code_error : ?src:Logs.src -> (_, unit) Logs.msgf -> 'b
+val code_error : src:Logs.src -> (_, unit) Logs.msgf -> 'b
 (** Terminate execution with a [code error] message. *)
 
-val user_error :
-  ?src:Logs.src -> ?loc:Why3.Loc.position -> (_, unit) Logs.msgf -> 'b
+val user_error : ?loc:Why3.Loc.position -> (_, unit) Logs.msgf -> 'b
 (** Terminate execution with a [user error] message. *)
 
 val not_implemented_yet : ?src:Logs.src -> (_, unit) Logs.msgf -> 'b