diff --git a/src/kernel_services/plugin_entry_points/log.ml b/src/kernel_services/plugin_entry_points/log.ml
index fc75685ce07eb58dc3edc72419e55ec23d16216b..6e865c870ca79d1d8dc629816bfa6da55ff76b53 100644
--- a/src/kernel_services/plugin_entry_points/log.ml
+++ b/src/kernel_services/plugin_entry_points/log.ml
@@ -569,6 +569,8 @@ let update_deferred_exn exn =
 let warn_event_as_error event = update_deferred_exn (DWarn_as_error event)
 
 let deferred_raise ~fatal ~unreported event msg =
+  (* reset deferred flag. *)
+  let () = deferred_exn := DNo_exn in
   let channel = new_channel event.evt_plugin in
   let append =
     if unreported then None else