diff --git a/src/main/scala/leon/purescala/Trees.scala b/src/main/scala/leon/purescala/Trees.scala
index 3e48931b2f3279a9b2c7d5fd09b0bef745d39cd4..b4c1762a693b9211521fbb4b1624a8e99191bb2d 100644
--- a/src/main/scala/leon/purescala/Trees.scala
+++ b/src/main/scala/leon/purescala/Trees.scala
@@ -280,7 +280,7 @@ object Trees {
     val fixedType = BooleanType
 
     override def equals(that: Any): Boolean = (that != null) && (that match {
-      case t: Iff => t.left == left
+      case t: Iff => t.left == left && t.right == right
       case _ => false
     })