diff --git a/src/main/scala/leon/plugin/CodeExtraction.scala b/src/main/scala/leon/plugin/CodeExtraction.scala
index f9a5e69e0202e18b9964c572991d6c3d4281fed1..0c42d24f74f94bad827458e551483ecf27b01933 100644
--- a/src/main/scala/leon/plugin/CodeExtraction.scala
+++ b/src/main/scala/leon/plugin/CodeExtraction.scala
@@ -533,7 +533,7 @@ trait CodeExtraction extends Extractors {
         case None => nextExpr match {
           case ExTuple(tpes, exprs) => {
             val tupleExprs = exprs.map(e => rec(e))
-            val tupleType = TupleType(tupleExprs.map(expr => bestRealType(expr.getType)))
+            val tupleType = TupleType(tupleExprs.map(expr => expr.getType))
             Tuple(tupleExprs).setType(tupleType)
           }
           case ExErrorExpression(str, tpe) =>
diff --git a/src/main/scala/leon/purescala/Trees.scala b/src/main/scala/leon/purescala/Trees.scala
index c2f47b7f9fb521069752190f9f79176746e682d7..d69931e757e3cf9dc7bb5d3c9c86c9e6f7e1bca6 100644
--- a/src/main/scala/leon/purescala/Trees.scala
+++ b/src/main/scala/leon/purescala/Trees.scala
@@ -51,7 +51,7 @@ object Trees {
   case class IfExpr(cond: Expr, then: Expr, elze: Expr) extends Expr 
 
   case class Tuple(exprs: Seq[Expr]) extends Expr {
-    val subTpes = exprs.map(_.getType).map(bestRealType)
+    val subTpes = exprs.map(_.getType)
     if(subTpes.forall(_ != Untyped)) {
       setType(TupleType(subTpes))
     }