diff --git a/meshmode/discretization/__init__.py b/meshmode/discretization/__init__.py
index 44690b7593e4c0e516a8371fae30f7bf15379df9..54752dd6dbad136d3435ecebad937ca203099ecd 100644
--- a/meshmode/discretization/__init__.py
+++ b/meshmode/discretization/__init__.py
@@ -270,7 +270,7 @@ class Discretization(object):
             for grp in self.groups:
                 meg = grp.mesh_el_group
                 knl()(queue,
-                        resampling_mat=grp.resampling_matrix(),
+                        resampling_mat=grp.from_mesh_interp_matrix(),
                         result=grp.view(result), nodes=meg.nodes)
 
         return result
diff --git a/meshmode/discretization/poly_element.py b/meshmode/discretization/poly_element.py
index d59346691c93f7e967a1174b0a4622fdfff05426..7898ca25ea949672a35f4cf75cdb144fb9b6884b 100644
--- a/meshmode/discretization/poly_element.py
+++ b/meshmode/discretization/poly_element.py
@@ -85,13 +85,6 @@ class PolynomialSimplexElementGroupBase(ElementGroupBase):
         else:
             return result
 
-    @memoize_method
-    def resampling_matrix(self):
-        meg = self.mesh_el_group
-        return mp.resampling_matrix(
-                mp.simplex_onb(self.dim, meg.order),
-                self.unit_nodes, meg.unit_nodes)
-
 
 class InterpolatoryQuadratureSimplexElementGroup(PolynomialSimplexElementGroupBase):
     """Elemental discretization supplying a high-order quadrature rule