diff --git a/loopy/compiled.py b/loopy/compiled.py
index d8d127c0bc89f439569b8a016e485054c05f2bc2..079da0da2aadb88133d9fcbee93228c1d6ea9fbd 100644
--- a/loopy/compiled.py
+++ b/loopy/compiled.py
@@ -716,11 +716,15 @@ def generate_invoker(kernel, cl_kernel, impl_arg_info, options):
     if not lsize_expr:
         lsize_expr = (1,)
 
+    def strify_tuple(t):
+        return "(%s,)" % (
+                ", ".join("int(%s)" % strify(t_i) for t_i in t))
+
     gen("_lpy_evt = _lpy_cl.enqueue_nd_range_kernel(queue, cl_kernel, "
             "%(gsize)s, %(lsize)s,  wait_for=wait_for, g_times_l=True)"
             % dict(
-                gsize=strify(gsize_expr),
-                lsize=strify(lsize_expr)))
+                gsize=strify_tuple(gsize_expr),
+                lsize=strify_tuple(lsize_expr)))
     gen("")
 
     # }}}