diff --git a/pyopencl/array.py b/pyopencl/array.py
index e563ccdfb13c1cd193fc8a72c24c20adf6a56928..c05ab2f0039c6868284fa73520fa4fec7da4982d 100644
--- a/pyopencl/array.py
+++ b/pyopencl/array.py
@@ -2714,7 +2714,7 @@ def if_positive(criterion, then_, else_, out=None, queue=None):
 
         if out is not None:
             out[...] = result
-            return
+            return out
 
         return result
 
@@ -2737,7 +2737,7 @@ def maximum(a, b, out=None, queue=None):
         result = np.maximum(a, b)
         if out is not None:
             out[...] = result
-            return
+            return out
 
         return result
 
@@ -2752,7 +2752,7 @@ def minimum(a, b, out=None, queue=None):
         result = np.minimum(a, b)
         if out is not None:
             out[...] = result
-            return
+            return out
 
         return result
     # silly, but functional