diff --git a/grudge/reductions.py b/grudge/reductions.py
index 8049358b784d21bfb6eb5fb24a1cf3ce0a46fb00..b86bccfbf79233f2872a3cf97b1e0d425c992a75 100644
--- a/grudge/reductions.py
+++ b/grudge/reductions.py
@@ -203,27 +203,9 @@ def nodal_min_loc(dcoll: DiscretizationCollection, dd, vec) -> Any:
 
     actx = vec.array_context
 
-    if hasattr(actx, "_force_device_scalars"):
-        force_device_scalars = actx._force_device_scalars
-    else:
-        force_device_scalars = True
-
-    def as_device_scalar(x):
-        return actx.from_numpy(np.array(x))
-
-    def device_min(x):
-        result = actx.np.min(x)
-        if not force_device_scalars:
-            result = as_device_scalar(result)
-        return result
-
-    result = reduce(
-            lambda acc, grp_ary: actx.np.minimum(acc, device_min(grp_ary)),
-            vec, as_device_scalar(np.inf))
-    if not force_device_scalars:
-        result = actx.to_numpy(result)[()]
-
-    return result
+    return reduce(
+            lambda acc, grp_ary: actx.np.minimum(acc, actx.np.min(grp_ary)),
+            vec, actx.from_numpy(np.array(np.inf)))
 
 
 def nodal_max(dcoll: DiscretizationCollection, dd, vec) -> Any:
@@ -261,27 +243,9 @@ def nodal_max_loc(dcoll: DiscretizationCollection, dd, vec) -> Any:
 
     actx = vec.array_context
 
-    if hasattr(actx, "_force_device_scalars"):
-        force_device_scalars = actx._force_device_scalars
-    else:
-        force_device_scalars = True
-
-    def as_device_scalar(x):
-        return actx.from_numpy(np.array(x))
-
-    def device_max(x):
-        result = actx.np.max(x)
-        if not force_device_scalars:
-            result = as_device_scalar(result)
-        return result
-
-    result = reduce(
-            lambda acc, grp_ary: actx.np.maximum(acc, device_max(grp_ary)),
-            vec, as_device_scalar(-np.inf))
-    if not force_device_scalars:
-        result = actx.to_numpy(result)[()]
-
-    return result
+    return reduce(
+            lambda acc, grp_ary: actx.np.maximum(acc, actx.np.max(grp_ary)),
+            vec, actx.from_numpy(np.array(-np.inf)))
 
 
 def integral(dcoll: DiscretizationCollection, dd, vec):