diff --git a/src/main/scala/leon/purescala/ExprOps.scala b/src/main/scala/leon/purescala/ExprOps.scala
index 25a2d0e93cf46d36c78fed5796846a1e47d89674..89770d2cdb84dde2986d580eefef69d21ba106eb 100644
--- a/src/main/scala/leon/purescala/ExprOps.scala
+++ b/src/main/scala/leon/purescala/ExprOps.scala
@@ -1012,7 +1012,7 @@ object ExprOps {
     case CharType                   => CharLiteral('a')
     case BooleanType                => BooleanLiteral(false)
     case UnitType                   => UnitLiteral()
-    case SetType(baseType)          => FiniteSet(Set(), tpe)
+    case SetType(baseType)          => FiniteSet(Set(), baseType)
     case MapType(fromType, toType)  => FiniteMap(Nil, fromType, toType)
     case TupleType(tpes)            => Tuple(tpes.map(simplestValue))
     case ArrayType(tpe)             => EmptyArray(tpe)
diff --git a/src/test/scala/leon/test/purescala/ExprOpsSuite.scala b/src/test/scala/leon/test/purescala/ExprOpsSuite.scala
index 482777b744e1c892e03c162cf2c2645cee46faa8..de304264d9c2454e4a31cfc96597ea49e0c6d810 100644
--- a/src/test/scala/leon/test/purescala/ExprOpsSuite.scala
+++ b/src/test/scala/leon/test/purescala/ExprOpsSuite.scala
@@ -6,6 +6,8 @@ import leon.test._
 import leon.purescala.Common._
 import leon.purescala.Expressions._
 import leon.purescala.Types._
+import leon.purescala.TypeOps._
+import leon.purescala.Definitions._
 import leon.purescala.ExprOps._
 
 class ExprOpsSuite extends LeonTestSuite with helpers.WithLikelyEq with helpers.ExpressionsDSL {
@@ -262,4 +264,19 @@ class ExprOpsSuite extends LeonTestSuite with helpers.WithLikelyEq with helpers.
     assert( postMap(op, true)(expr)  == Plus(bi(42), Minus(bi(42), bi(3))) )
     
   }
+
+  test("simplestValue") { ctx =>
+    val types = Seq(BooleanType,
+                    Int32Type,
+                    IntegerType,
+                    SetType(BooleanType),
+                    TupleType(Seq(BooleanType, BooleanType)),
+                    MapType(Int32Type, BooleanType))
+
+    for (t <- types) {
+      val v = simplestValue(t)
+      assert(isSubtypeOf(v.getType, t), "SimplestValue of "+t+": "+v+":"+v.getType)
+    }
+
+  }
 }