diff --git a/src/libraries/utils/json.mll b/src/libraries/utils/json.mll
index 52187b0c694171749f0c51af63bac1a86829ae24..86f2d0cf66a528a0394cf994cbf5fb52693c0cd7 100644
--- a/src/libraries/utils/json.mll
+++ b/src/libraries/utils/json.mll
@@ -167,7 +167,7 @@ let rec pp fmt v = let open Format in
   | `Bool b -> pp_print_bool fmt b
   | `String s -> fprintf fmt "%S" s
   | `Int a -> pp_print_int fmt a
-  | `Float f -> pp_print_float fmt f
+  | `Float f -> Format.fprintf fmt "%g" f
   | `List [] -> pp_print_string fmt "[]"
   | `List (e::es) ->
       Format.fprintf fmt "@[<hov 2>[ %a" pp e ;