diff --git a/library/collection/List.scala b/library/collection/List.scala
index 7b8692a8b90b9685153a3930d079a1c5c7f45454..b98dbf3c292559414aba104213ed09fe6afaf229 100644
--- a/library/collection/List.scala
+++ b/library/collection/List.scala
@@ -22,8 +22,7 @@ sealed abstract class List[T] {
   }
 
   def contains(v: T): Boolean = (this match {
-    case Cons(h, t) if h == v => true
-    case Cons(_, t) => t.contains(v)
+    case Cons(h, t) => h == v || t.contains(v)
     case Nil() => false
   }) ensuring { _ == (content contains v) }