diff --git a/modcc/printer/gpuprinter.cpp b/modcc/printer/gpuprinter.cpp
index 00dd9e7f85ae84833cde0e032c94de3221411084..5343f0232133f44c0c142c0c483fe76213325cad 100644
--- a/modcc/printer/gpuprinter.cpp
+++ b/modcc/printer/gpuprinter.cpp
@@ -303,7 +303,7 @@ std::string emit_gpu_cu_source(const Module& module_, const printer_options& opt
                                            "    unsigned grid_dim = ::arb::gpu::impl::block_count(n, block_dim);\n"
                                            "    {1}<<<grid_dim, block_dim>>>(*p);\n"
                                            "    if (!p->multiplicity) return;\n"
-                                           "    multiply<<<{{grid_dim, {2}}}, block_dim>>>(*p);\n"),
+                                           "    multiply<<<dim3{{grid_dim, {2}}}, block_dim>>>(*p);\n"),
                                "width",
                                api_name,
                                n);