diff --git a/grudge/symbolic/primitives.py b/grudge/symbolic/primitives.py
index 3eb69dac17352c8659534706dce3577149550e05..5be9bfda989b1e0a13bc848b215dd87e1eb88426 100644
--- a/grudge/symbolic/primitives.py
+++ b/grudge/symbolic/primitives.py
@@ -355,9 +355,11 @@ def inverse_metric_derivative(rst_axis, xyz_axis, ambient_dim, dim=None,
             ambient_dim, rst_axis, where, quadrature_tag)
         for rst_axis in range(dim)).inv())
 
-    return (outprod_with_unit(xyz_axis, rst_axis)
-            * volume_pseudoscalar_inv
-            ).as_scalar()
+    return cse(
+            (outprod_with_unit(xyz_axis, rst_axis)
+                * volume_pseudoscalar_inv).as_scalar(),
+            prefix="dr%d_dx%d" % (rst_axis, xyz_axis),
+            scope=cse_scope.DISCRETIZATION)
 
 
 def forward_metric_derivative_mat(ambient_dim, dim=None,