diff --git a/src/main/scala/leon/LeonContext.scala b/src/main/scala/leon/LeonContext.scala
index c4854544fda09689a5e46f6a0a50f5eb916f7360..8b3a250c2188246a325dc8341586725ab8873d94 100644
--- a/src/main/scala/leon/LeonContext.scala
+++ b/src/main/scala/leon/LeonContext.scala
@@ -33,4 +33,10 @@ object LeonContext {
     val reporter = new DefaultReporter(Set())
     LeonContext(reporter, new InterruptManager(reporter))
   }
+
+  def printNames = {
+    empty.copy(options =
+      Seq(LeonOption[Set[DebugSection]](SharedOptions.optDebug)(Set(DebugSectionTrees)))
+    )
+  }
 }
diff --git a/src/main/scala/leon/purescala/Common.scala b/src/main/scala/leon/purescala/Common.scala
index 5c630e4f69589d575c3d76fbd599da5d158a695e..848577763f29005047571adfb6760a8ab574bc1b 100644
--- a/src/main/scala/leon/purescala/Common.scala
+++ b/src/main/scala/leon/purescala/Common.scala
@@ -26,6 +26,8 @@ object Common {
     def asString(pgm: Program)(implicit ctx: LeonContext): String = {
       ScalaPrinter(this, ctx, pgm)
     }
+
+    override def toString = asString(LeonContext.printNames)
   }
 
   /** Represents a unique symbol in Leon.