diff --git a/src/main/scala/inox/Program.scala b/src/main/scala/inox/Program.scala
index 0b28fca03d2087efa8f9bcda8d93062b006cf7b3..69ce0a7fc74f841055b4f1366dbe5749cff6a7f5 100644
--- a/src/main/scala/inox/Program.scala
+++ b/src/main/scala/inox/Program.scala
@@ -47,4 +47,10 @@ trait Program { self =>
     val symbols = self.symbols.withADTs(adts)
     val ctx = self.ctx
   }
+
+  def withContext(nctx: Context): Program { val trees: self.trees.type; val symbols: self.symbols.type } = new Program {
+    val trees: self.trees.type = self.trees
+    val symbols: self.symbols.type = self.symbols
+    val ctx = nctx
+  }
 }