diff --git a/examples/advection/var-velocity.py b/examples/advection/var-velocity.py
index adf2f2fe667184370500627359a3d84cf7f751f4..bc720731a820fd063fda36657218315174f3c5f3 100644
--- a/examples/advection/var-velocity.py
+++ b/examples/advection/var-velocity.py
@@ -75,9 +75,8 @@ def main(write_output=True, order=4):
                     / source_width**2)
 
     def f_step(x):
-        from pymbolic.primitives import If, Comparison
-        return If(
-                Comparison(
+        return sym.If(
+                sym.Comparison(
                     np.dot(sym_source_center_dist, sym_source_center_dist),
                     "<",
                     (4*source_width)**2),
diff --git a/examples/wave/var-propagation-speed.py b/examples/wave/var-propagation-speed.py
index 937b87a0d83a373b8ae1d99cd3193c5685dc36df..a7a634f7a8b79f3006525059e70cc4379581127c 100644
--- a/examples/wave/var-propagation-speed.py
+++ b/examples/wave/var-propagation-speed.py
@@ -51,10 +51,9 @@ def main(write_output=True, order=4):
     sym_x = sym.nodes(mesh.dim)
     sym_source_center_dist = sym_x - source_center
     sym_t = sym.ScalarVariable("t")
-
-    from pymbolic.primitives import If, Comparison
-    c = If(Comparison(np.dot(sym_x, sym_x), "<", 0.15),
-            np.float32(-0.1), np.float32(-0.2))
+    c = sym.If(sym.Comparison(
+                np.dot(sym_x, sym_x), "<", 0.15),
+                np.float32(-0.1), np.float32(-0.2))
 
     from grudge.models.wave import VariableCoefficientWeakWaveOperator
     from meshmode.mesh import BTAG_ALL, BTAG_NONE
diff --git a/grudge/models/advection.py b/grudge/models/advection.py
index 5ef1e5ce52d8a0d454e2fdb1a8030c794042d43d..091b9870c4b82a3fde2fc21b84bf92e5ec62ab17 100644
--- a/grudge/models/advection.py
+++ b/grudge/models/advection.py
@@ -59,10 +59,9 @@ class AdvectionOperatorBase(HyperbolicOperator):
         elif self.flux_type == "lf":
             return u.avg*v_dot_normal + 0.5*norm_v*(u.int - u.ext)
         elif self.flux_type == "upwind":
-            from pymbolic.primitives import If, Comparison
             return (
-                    v_dot_normal * If(
-                        Comparison(v_dot_normal, ">", 0),
+                    v_dot_normal * sym.If(
+                        sym.Comparison(v_dot_normal, ">", 0),
                         u.int,  # outflow
                         u.ext,  # inflow
                         ))
@@ -156,10 +155,9 @@ class VariableCoefficientAdvectionOperator(HyperbolicOperator):
         elif self.flux_type == "lf":
             return u.avg*v_dot_normal + 0.5*norm_v*(u.int - u.ext)
         elif self.flux_type == "upwind":
-            from pymbolic.primitives import If, Comparison
             return (
-                    v_dot_normal * If(
-                        Comparison(v_dot_normal, ">", 0),
+                    v_dot_normal * sym.If(
+                        sym.Comparison(v_dot_normal, ">", 0),
                         u.int,  # outflow
                         u.ext,  # inflow
                         ))
diff --git a/grudge/models/wave.py b/grudge/models/wave.py
index 9b16c6027b6478d129e87dd77a259789a42c281f..0ac60a336a4f72f12ba4f3eeb0bc2d79c9f07509 100644
--- a/grudge/models/wave.py
+++ b/grudge/models/wave.py
@@ -350,9 +350,9 @@ class VariableCoefficientWeakWaveOperator(HyperbolicOperator):
         self.ambient_dim = ambient_dim
         self.source_f = source_f
 
-        from pymbolic.primitives import If, Comparison
-        self.sign = If(Comparison(self.c, ">", 0),
-                       np.int32(1), np.int32(-1))
+        self.sign = sym.If(sym.Comparison(
+                            self.c, ">", 0),
+                                            np.int32(1), np.int32(-1))
 
         self.dirichlet_tag = dirichlet_tag
         self.neumann_tag = neumann_tag