diff --git a/src/kernel_services/ast_queries/cil.ml b/src/kernel_services/ast_queries/cil.ml
index daae7bfac546a9972ea6f529488d8f9a7511a9cb..448ed28deb36f956227fcc2b88e65bbbb31c9ec8 100644
--- a/src/kernel_services/ast_queries/cil.ml
+++ b/src/kernel_services/ast_queries/cil.ml
@@ -5891,7 +5891,11 @@ let mkBinOp ~loc op e1 e2 =
     if isIntegralType tres then
       make_expr tres tres
     else
-      Kernel.fatal ~current:true "mkBinOp: %a" !pp_exp_ref (dummy_exp(BinOp(op,e1,e2,intType)))
+      Kernel.fatal
+        ~current:true
+        "@[mkBinOp: unsupported non integral result type for integral \
+         arithmetic@ %a@]"
+        !pp_exp_ref (dummy_exp(BinOp(op,e1,e2,intType)))
   in
   let compare_pointer op ?cast1 ?cast2 e1 e2 =
     let do_cast e = function
@@ -5952,8 +5956,13 @@ let mkBinOp ~loc op e1 e2 =
     compare_pointer ~cast1:theMachine.upointType ~cast2:theMachine.upointType
       op e1 e2
   | _ ->
-    Kernel.fatal ~current:true "mkBinOp: %a"
+    Kernel.fatal
+      ~current:true
+      "@[mkBinOp: unsupported operator for such operands@ \
+       %a@ (type of e1: %a,@ type of e2: %a)@]"
       !pp_exp_ref (dummy_exp(BinOp(op,e1,e2,intType)))
+      !pp_typ_ref t1
+      !pp_typ_ref t2
 
 let mkBinOp_safe_ptr_cmp ~loc op e1 e2 =
   let e1, e2 =