diff --git a/tests/myutop_main.ml b/tests/myutop_main.ml
index 2c8f070bdf8b4a142a36073e6cd80b9275c5a462..76bdbf9e947b13fb5c4e26129e816dfca472d080 100644
--- a/tests/myutop_main.ml
+++ b/tests/myutop_main.ml
@@ -35,7 +35,25 @@ let () =
                Ldot(Ldot(Lident "Solver","Events"),"Fired");
                Lident "Interval";
                Lident "Uninterp";
-              ]
+              ];
+
+  let first = ref true in
+  let exec_init s =
+    match UTop.parse_toplevel_phrase_default s true with
+    | UTop.Value r ->
+      ignore(Toploop.execute_phrase true Format.err_formatter r)
+    | _ -> assert false
+  in
+  let init = ["open Popop;;";
+              "open Types;;";
+              "let b1 = Cl.fresh \"b1\" Bool.ty;;"] in
+  UTop.at_new_command (fun () ->
+      if !first then begin
+        first := false;
+        List.iter exec_init init;
+      end
+    )
+
 
 (* Start utop. It never returns. *)
 let () = UTop_main.main ()