diff --git a/pyopencl/reduction.py b/pyopencl/reduction.py
index 3284d75ccf8799163b37478949cd5f2bd069b3ef..7c017419359bdd5b6baacf419a08980890cdadbe 100644
--- a/pyopencl/reduction.py
+++ b/pyopencl/reduction.py
@@ -231,7 +231,8 @@ def get_reduction_kernel(stage,
     inf.kernel.set_scalar_arg_dtypes(
             [None, np.int64]
             + get_arg_list_scalar_arg_dtypes(inf.arg_types)
-            + [np.int64]*5)
+            + [np.int64]*3 + [np.uint32, np.int64]
+            )
 
     return inf
 
diff --git a/test/test_algorithm.py b/test/test_algorithm.py
index ffd856765a208c8e0c75e44af5ccac07ac496889..f41fd824a21171088e900b8c257b994cf5e672e1 100644
--- a/test/test_algorithm.py
+++ b/test/test_algorithm.py
@@ -271,7 +271,7 @@ def test_sum_without_data(ctx_factory):
             reduce_expr="a+b", map_expr="i",
             arguments=[])
 
-    result_dev = red(range=range(n), queue=queue).get()
+    result_dev = red(range=slice(n), queue=queue).get()
     result_ref = n*(n-1)//2
 
     assert result_dev == result_ref