diff --git a/grudge/models/__init__.py b/grudge/models/__init__.py
index bc780365cd89169aae11358288b17d57825c61cd..c251d8f74aceddc743efa15b3f51d59ac289a78f 100644
--- a/grudge/models/__init__.py
+++ b/grudge/models/__init__.py
@@ -36,16 +36,15 @@ class Operator:
 class HyperbolicOperator(Operator):
     """A base class for hyperbolic Discontinuous Galerkin operators."""
 
-    def max_eigenvalue(self, t, fields, discr):
+    def max_eigenvalue(self, t, fields, dcoll):
         raise NotImplementedError
 
-    def estimate_rk4_timestep(self, discr, t=None, fields=None):
+    def estimate_rk4_timestep(self, dcoll, t=None, fields=None):
         """Estimate the largest stable timestep for an RK4 method.
         """
-
-        from grudge.dt_finding import (
-                dt_non_geometric_factor,
-                dt_geometric_factor)
-        return 1 / self.max_eigenvalue(t, fields, discr) \
-                * (dt_non_geometric_factor(discr)
-                * dt_geometric_factor(discr))
+        from grudge.dt_utils import (dt_non_geometric_factor,
+                                     dt_geometric_factor)
+   
+        return 1 / self.max_eigenvalue(t, fields, dcoll) \
+            * (dt_non_geometric_factor(dcoll)
+               * dt_geometric_factor(dcoll))
diff --git a/grudge/models/advection.py b/grudge/models/advection.py
index 37ed429be37250f102812127c5eab28a7a495b91..fa4df66458b3b49d84164c95f684db8d0765d9f2 100644
--- a/grudge/models/advection.py
+++ b/grudge/models/advection.py
@@ -84,7 +84,7 @@ class AdvectionOperatorBase(HyperbolicOperator):
     def weak_flux(self, u_tpair):
         return advection_weak_flux(self.dcoll, self.flux_type, u_tpair, self.v)
 
-    def max_eigenvalue(self, t=None, fields=None, discr=None):
+    def max_eigenvalue(self, t=None, fields=None, dcoll=None):
         return np.linalg.norm(self.v)
 
 
diff --git a/grudge/models/em.py b/grudge/models/em.py
index 44ec4a6edeccb7abc2d0a3bfe14f0673f8db8e14..c77d82db5f806d9777371dfad641f507adead969 100644
--- a/grudge/models/em.py
+++ b/grudge/models/em.py
@@ -344,7 +344,7 @@ class MaxwellOperator(HyperbolicOperator):
             return op.nodal_max(self.dcoll, "vol",
                                 1 / actx.np.sqrt(self.epsilon * self.mu))
 
-    def max_eigenvalue(self, t, fields=None, discr=None, context=None):
+    def max_eigenvalue(self, t, fields=None, dcoll=None, context=None):
         if context is None:
             context = {}
         if self.fixed_material:
diff --git a/grudge/models/wave.py b/grudge/models/wave.py
index ed0d40198397f070f9fba35300a0b932e99a1497..5001b0b224aee1d72fc479113dd61cbc22463e62 100644
--- a/grudge/models/wave.py
+++ b/grudge/models/wave.py
@@ -175,7 +175,7 @@ class WeakWaveOperator(HyperbolicOperator):
             self.neumann_tag,
             self.radiation_tag])
 
-    def max_eigenvalue(self, t, fields=None, discr=None):
+    def max_eigenvalue(self, t, fields=None, dcoll=None):
         return abs(self.c)
 
 
@@ -331,7 +331,7 @@ class VariableCoefficientWeakWaveOperator(HyperbolicOperator):
             self.neumann_tag,
             self.radiation_tag])
 
-    def max_eigenvalue(self, t, fields=None, discr=None):
+    def max_eigenvalue(self, t, fields=None, dcoll=None):
         actx = self.dcoll._setup_actx
         return op.nodal_max(self.dcoll, "vol", actx.np.fabs(self.c))