diff --git a/meshmode/interop/firedrake/connection.py b/meshmode/interop/firedrake/connection.py
index e3d950d380198582d2a3b231fcebdcc2d01e5a70..9916b8c982faa17cd4a02a0a522123942bfca3e1 100644
--- a/meshmode/interop/firedrake/connection.py
+++ b/meshmode/interop/firedrake/connection.py
@@ -274,14 +274,15 @@ class FromFiredrakeConnection:
             mm_field = mm_field.reshape(mm_field.shape[1])
 
         # resample from nodes
-        # FIXME : we're still allocating new memory when :param:`out` is supplied
-        resampled = np.copy(mm_field)
-        by_cell_view = self.to_discr.groups[0].view(resampled)
-        np.matmul(by_cell_view, self._resampling_mat_mm2fd.T, out=by_cell_view)
+        by_cell_field_view = self.to_discr.groups[0].view(mm_field)
+        by_cell_out_view = self.to_discr.groups[0].view(out.dat.data.T)
+        np.matmul(by_cell_field_view, self._resampling_mat_mm2fd.T,
+                  out=by_cell_out_view)
+
         # reorder data
         if len(out.dat.data.shape) == 1:
-            out.dat.data[:] = resampled[self._reordering_arr_mm2fd]
+            out.dat.data[:] = out.dat.data[self._reordering_arr_mm2fd]
         else:
-            out.dat.data[:] = resampled.T[self._reordering_arr_mm2fd, :]
+            out.dat.data[:] = out.dat.data.T[self._reordering_arr_mm2fd, :]
 
         return out
diff --git a/meshmode/interop/firedrake/mesh.py b/meshmode/interop/firedrake/mesh.py
index 26dbed764613587316d55886824c769edc330ea4..470cd724dcc732a75d3c50f7c1a24d3dcfa62fb1 100644
--- a/meshmode/interop/firedrake/mesh.py
+++ b/meshmode/interop/firedrake/mesh.py
@@ -75,7 +75,6 @@ def _get_firedrake_nodal_info(fdrake_mesh_topology):
     def vert_id_dmp_to_fd(ndx):
         return top._vertex_numbering.getOffset(ndx)
 
-    # FIXME : Is this the right integer type?
     # We will fill in the values as we go
     vertex_indices = -np.ones((top.num_cells(), top.ufl_cell().num_vertices()),
                               dtype=np.int32)
@@ -122,7 +121,6 @@ def _get_firedrake_nodal_info(fdrake_mesh_topology):
     # Next go ahead and compute nodal adjacency by creating
     # neighbors and neighbor_starts as specified by :class:`NodalAdjacency`
     neighbors = []
-    # FIXME : Is this the right integer type to choose?
     neighbors_starts = np.zeros(top.num_cells() + 1, dtype=np.int32)
     for iel in range(len(cell_to_nodal_neighbors)):
         neighbors += cell_to_nodal_neighbors[iel]
@@ -340,7 +338,6 @@ def _get_firedrake_orientations(fdrake_mesh, unflipped_group, vertices,
 # {{{ Mesh conversion
 
 def import_firedrake_mesh(fdrake_mesh):
-    # FIXME : docs
     """
     Create a :mod:`meshmode` :class:`Mesh` from a :mod:`firedrake`
     :class:`MeshGeometry` with the same cells/elements, vertices, nodes,