diff --git a/python/dune/perftool/loopy/target.py b/python/dune/perftool/loopy/target.py
index 83d42e9d4bd25fadce5801cc7eb5e3c9f12f8601..b535a5e9ff877c51868ad3fae7bd4a60dcbb78ff 100644
--- a/python/dune/perftool/loopy/target.py
+++ b/python/dune/perftool/loopy/target.py
@@ -20,7 +20,7 @@ from loopy.target.c.codegen.expression import ExpressionToCExpressionMapper, CEx
 from loopy.tools import is_integer
 from loopy.types import NumpyType
 
-from pymbolic.mapper.stringifier import PREC_NONE
+from pymbolic.mapper.stringifier import PREC_NONE, PREC_BITWISE_AND
 import pymbolic.primitives as prim
 
 import pytools as pt
@@ -120,6 +120,12 @@ class DuneCExpressionToCodeMapper(CExpressionToCodeMapper):
             return CExpressionToCodeMapper.map_remainder(self, expr, enclosing_prec)
 
 
+    def map_bitwise_and(self, expr, enclosing_prec):
+        return self.parenthesize_if_needed(
+            self.join_rec(" & ", expr.children, PREC_BITWISE_AND),
+            enclosing_prec, PREC_BITWISE_AND)
+
+
 class DuneASTBuilder(CASTBuilder):
     def function_manglers(self):
         return CASTBuilder.function_manglers(self) + retrieve_cache_functions("mangler")