diff --git a/grudge/geometry/metrics.py b/grudge/geometry/metrics.py
index d0e2a359941e769a3b13f77716c382e216504cf6..a879c861bf85f447f4b03055ee97d3f59129b5da 100644
--- a/grudge/geometry/metrics.py
+++ b/grudge/geometry/metrics.py
@@ -26,7 +26,7 @@ THE SOFTWARE.
 import numpy as np
 
 from grudge.dof_desc import (
-    DD_VOLUME, DOFDesc
+    DD_VOLUME, DOFDesc, QTAG_NONE
 )
 from meshmode.dof_array import thaw
 from pymbolic.geometric_algebra import MultiVector
@@ -54,6 +54,8 @@ def forward_metric_nth_derivative(actx, dcoll, xyz_axis, ref_axes, dd=None):
     if dd is None:
         dd = DD_VOLUME
 
+    inner_dd = dd.with_qtag(QTAG_NONE)
+
     if isinstance(ref_axes, int):
         ref_axes = ((ref_axes, 1),)
 
@@ -72,13 +74,13 @@ def forward_metric_nth_derivative(actx, dcoll, xyz_axis, ref_axes, dd=None):
     from meshmode.discretization import num_reference_derivative
 
     vec = num_reference_derivative(
-        dcoll.discr_from_dd(DD_VOLUME),
+        dcoll.discr_from_dd(inner_dd),
         flat_ref_axes,
-        thaw(actx, dcoll.discr_from_dd(DD_VOLUME).nodes())[xyz_axis]
+        thaw(actx, dcoll.discr_from_dd(inner_dd).nodes())[xyz_axis]
     )
 
     if dd.uses_quadrature():
-        vec = dcoll.connection_from_dds(DD_VOLUME, dd)(vec)
+        vec = dcoll.connection_from_dds(inner_dd, dd)(vec)
 
     return vec