diff --git a/pymbolic/interop/sympy.py b/pymbolic/interop/sympy.py
index 2ccb9fe4072b83c7978572ad31f1e636824ed0e3..b4807712591e695a434662d4fc93b88f3322575d 100644
--- a/pymbolic/interop/sympy.py
+++ b/pymbolic/interop/sympy.py
@@ -67,7 +67,7 @@ class SympyToPymbolicMapper(SympyLikeToPymbolicMapper):
         # We only handle piecewises with 2 arguments!
         assert len(expr.args) == 2
         # We only handle if/else cases
-        assert expr.args[0][1] == sympy.Not(expr.args[1][1])
+        assert expr.args[1][1].is_Boolean and bool(expr.args[1][1]) is True
         then = self.rec(expr.args[0][0])
         else_ = self.rec(expr.args[1][0])
         cond = self.rec(expr.args[0][1])
@@ -106,7 +106,7 @@ class PymbolicToSympyMapper(PymbolicToSympyLikeMapper):
     def map_if(self, expr):
         cond = self.rec(expr.condition)
         return self.sym.Piecewise((self.rec(expr.then), cond),
-                                  (self.rec(expr.else_), self.sym.Not(cond))
+                                  (self.rec(expr.else_), True)
                                   )
 
     def map_comparison(self, expr):