diff --git a/src/main/scala/leon/purescala/ScalaPrinter.scala b/src/main/scala/leon/purescala/ScalaPrinter.scala
index e7ce49521e41b8d2fe83506a3fc6aaa1736091e3..2967ea34a1032afeb5d553caa3ac2e1d2bc60ddf 100644
--- a/src/main/scala/leon/purescala/ScalaPrinter.scala
+++ b/src/main/scala/leon/purescala/ScalaPrinter.scala
@@ -66,6 +66,28 @@ object ScalaPrinter {
   private def pp(tree: Expr, sb: StringBuffer, lvl: Int): StringBuffer = tree match {
     case Variable(id) => sb.append(id)
     case DeBruijnIndex(idx) => sys.error("Not Valid Scala")
+    case LetTuple(ids,d,e) => {
+      sb.append("locally {\n")
+      ind(sb, lvl+1)
+      sb.append("val (" )
+      for (((id, tpe), i) <- ids.map(id => (id, id.getType)).zipWithIndex) {
+          sb.append(id.toString+": ")
+          pp(tpe, sb, lvl)
+          if (i != ids.size-1) {
+              sb.append(", ")
+          }
+      }
+      sb.append(") = ")
+      pp(d, sb, lvl+1)
+      sb.append("\n")
+      ind(sb, lvl+1)
+      pp(e, sb, lvl+1)
+      sb.append("\n")
+      ind(sb, lvl)
+      sb.append("}\n")
+      ind(sb, lvl)
+      sb
+    }
     case Let(b,d,e) => {
       sb.append("locally {\n")
       ind(sb, lvl+1)