diff --git a/pyopencl/__init__.py b/pyopencl/__init__.py
index 24ec66b6b9261736c97c782e5f9e5a8e49af2aca..1fbba357b0365ea7ef39801f2732b62d82cb020d 100644
--- a/pyopencl/__init__.py
+++ b/pyopencl/__init__.py
@@ -755,6 +755,9 @@ def _add_functionality():
         from pytools.py_codegen import PythonCodeGenerator
         gen = PythonCodeGenerator()
 
+        if num_args == 0:
+            gen("pass")
+
         for i in range(num_args):
             gen("# process argument {arg_idx}".format(arg_idx=i))
             gen("")
@@ -793,6 +796,9 @@ def _add_functionality():
         from pytools.py_codegen import PythonCodeGenerator
         gen = PythonCodeGenerator()
 
+        if not scalar_arg_dtypes:
+            gen("pass")
+
         for arg_idx, arg_dtype in enumerate(scalar_arg_dtypes):
             gen("# process argument {arg_idx}".format(arg_idx=arg_idx))
             gen("")