diff --git a/src/Engine.ml b/src/Engine.ml
index c786eac1a34dc3b5032d68380b68599a1367c114..88444867c5ee4e23ca6b34650b717cb0890b5e3e 100644
--- a/src/Engine.ml
+++ b/src/Engine.ml
@@ -1419,8 +1419,8 @@ let log scenario fuel =
 
 (* -------------------------------------------------------------------------- *)
 
-(* [main_random source prologue fuel] performs an unbounded number of test
-   runs in random mode. *)
+(* [main_random_loop source prologue fuel] performs an unbounded number of
+   test runs in random mode. *)
 
 (* While the tests run, we print information roughly every second. We print
    how many tests have been performed so far, our overall average speed, and
@@ -1437,7 +1437,7 @@ let log scenario fuel =
    the parameter [source], is opened just once, as it would be pointless to
    close it and reopen it many times. *)
 
-let rec main_random source prologue fuel =
+let rec main_random_loop source prologue fuel =
   try
     assert (source = None);
     Gen.with_source source begin fun () ->
@@ -1457,7 +1457,13 @@ let rec main_random source prologue fuel =
        fuel. Try again, with this amount. This restricts our search
        space, and (with luck) we might now be able to find an even
        shorter scenario. *)
-    main_random source prologue fuel
+    main_random_loop source prologue fuel
+
+(* [main_random source prologue fuel] performs an unbounded number of test
+   runs in random mode. *)
+
+let main_random source prologue fuel =
+  main_random_loop source prologue fuel
 
 (* -------------------------------------------------------------------------- *)