diff --git a/meshmode/dof_array.py b/meshmode/dof_array.py
index f4099b33e9d64976d8e98c3dbfcb8ec01f661b1a..f74f2090672c4f94a13426f05cd71a2cfe583297 100644
--- a/meshmode/dof_array.py
+++ b/meshmode/dof_array.py
@@ -244,17 +244,16 @@ def unflatten(actx: ArrayContext, discr: "_Discretization", ary,
     group_starts = np.cumsum([0] + group_sizes)
 
     return DOFArray.from_list(actx, [
-            actx.freeze(
-                actx.call_loopy(
-                    prg(),
-                    grp_start=grp_start, ary=ary,
-                    nelements=grp.nelements,
-                    ndofs_per_element=ndofs_per_element,
-                    )["result"])
-            for grp_start, grp, ndofs_per_element in zip(
-                    group_starts,
-                    discr.groups,
-                    ndofs_per_element_per_group)])
+        actx.call_loopy(
+            prg(),
+            grp_start=grp_start, ary=ary,
+            nelements=grp.nelements,
+            ndofs_per_element=ndofs_per_element,
+            )["result"]
+        for grp_start, grp, ndofs_per_element in zip(
+            group_starts,
+            discr.groups,
+            ndofs_per_element_per_group)])
 
 
 def flat_norm(ary: DOFArray, ord=2):