diff --git a/loopy/codegen/instruction.py b/loopy/codegen/instruction.py
index a04bd6ae390965c55c01b64bea2aa71c92f51ba9..afcf14b2c27bd8a3bf83a3975e9837ac3179d115 100644
--- a/loopy/codegen/instruction.py
+++ b/loopy/codegen/instruction.py
@@ -95,9 +95,11 @@ def generate_expr_instruction_code(kernel, insn, codegen_state):
     from cgen import Assign
     from loopy.codegen.expression import dtype_to_type_context
     lhs_code = ccm(insn.assignee, prec=None, type_context=None)
+    from pymbolic.mapper.stringifier import PREC_NONE
     result = Assign(
             lhs_code,
-            ccm(expr, prec=None, type_context=dtype_to_type_context(target_dtype),
+            ccm(expr, prec=PREC_NONE,
+                type_context=dtype_to_type_context(target_dtype),
                 needed_dtype=target_dtype))
 
     if kernel.options.trace_assignments or kernel.options.trace_assignment_values: