diff --git a/loopy/compiled.py b/loopy/compiled.py
index e731278284a4a448c3d62e515a50aebc6f284144..2a1f5fb8123c16cbb27ddc34bebd08736a8a09b5 100644
--- a/loopy/compiled.py
+++ b/loopy/compiled.py
@@ -622,10 +622,14 @@ def generate_invoker(kernel, impl_arg_info, flags):
                     for arg in impl_arg_info
                     if arg.base_name in kernel.get_written_variables()))
     else:
-        gen("return _lpy_evt, (%s,)"
-                % ", ".join(arg.name
-                    for arg in impl_arg_info
-                    if arg.base_name in kernel.get_written_variables()))
+        out_args = [arg
+                for arg in impl_arg_info
+                if arg.base_name in kernel.get_written_variables()]
+        if not out_args:
+            gen("return _lpy_evt, (%s)"
+                    % ", ".join(arg.name for arg in out_args))
+        else:
+            gen("return _lpy_evt, ()")
 
     # }}}