diff --git a/src/optimize_machine.ml b/src/optimize_machine.ml
index ce4120fca2c025be0be6fc2127739e19ba946e41..c5056c3e0dc480f96fd74d02948d4caf7d673701 100644
--- a/src/optimize_machine.ml
+++ b/src/optimize_machine.ml
@@ -1280,13 +1280,14 @@ let machine_clean (vars, m) =
       unused
       m.mstep.step_instrs
   in
-  Log.report ~level:1 (fun fmt ->
-      Format.fprintf
-        fmt
-        "@[<v 2>.. machine %s unused variables:@,%a@]@,"
-        m.mname.node_id
-        ISet.pp
-        unused);
+  if not (ISet.is_empty unused) then
+    Log.report ~level:1 (fun fmt ->
+        Format.fprintf
+          fmt
+          "@[<v 2>.. machine %s unused variables:@,%a@]@,"
+          m.mname.node_id
+          ISet.pp
+          unused);
   let is_unused = is_unused unused in
   let is_used v = not (ISet.mem v.var_id unused) in
   let step_locals = List.filter is_used m.mstep.step_locals in