diff --git a/pymbolic/primitives.py b/pymbolic/primitives.py
index 329dd88e00a3a9bacb44ad4877bef5cc8b3abd72..7f80b174a8a77871c73c35562aa259b3fadc45b8 100644
--- a/pymbolic/primitives.py
+++ b/pymbolic/primitives.py
@@ -576,7 +576,7 @@ class Expression(ABC):
     # {{{ hash/equality backend
 
     def is_equal(self, other):
-        return (type(other) == type(self)
+        return (type(other) is type(self)
                 and self.__getinitargs__() == other.__getinitargs__())
 
     def get_hash(self):