diff --git a/src/main/scala/leon/synthesis/Synthesizer.scala b/src/main/scala/leon/synthesis/Synthesizer.scala
index 3f53f26abb4beffe434dcdd842c74a621f6f7d5d..a0232558efe60590b12082a1c88ffa68530a7047 100644
--- a/src/main/scala/leon/synthesis/Synthesizer.scala
+++ b/src/main/scala/leon/synthesis/Synthesizer.scala
@@ -94,7 +94,8 @@ class Synthesizer(val context : LeonContext,
 
     val (npr, fds) = solutionToProgram(sol)
 
-    val tsolver = new TimeoutSolver(solver, timeoutMs)
+    val tsolver = new TimeoutSolver(new FairZ3Solver(context), timeoutMs)
+    tsolver.setProgram(npr)
 
     val vcs = generateVerificationConditions(reporter, npr, fds.map(_.id.name))
     val vctx = VerificationContext(context, Seq(tsolver), context.reporter)