diff --git a/tests/nbackend/test_code_printing.py b/tests/nbackend/test_code_printing.py
index 5e80cae223c78ab00c911df9144d42768cfb52e1..c8294c6dd4ac1a8683a5f779cb52d3e628cbc708 100644
--- a/tests/nbackend/test_code_printing.py
+++ b/tests/nbackend/test_code_printing.py
@@ -75,3 +75,27 @@ def test_arithmetic_precedence():
     expr = (a / b) + (c / (d + e) * f)
     code = cprint(expr)
     assert code == "a / b + c / (d + e) * f"
+
+
+def test_printing_integer_functions():
+    (i, j, k) = [PsExpression.make(PsSymbol(x, UInt(64))) for x in "ijk"]
+    cprint = CAstPrinter()
+
+    from pystencils.backend.ast.expressions import (
+        PsLeftShift,
+        PsRightShift,
+        PsBitwiseAnd,
+        PsBitwiseOr,
+        PsBitwiseXor,
+        PsIntDiv,
+    )
+
+    expr = PsBitwiseAnd(
+        PsBitwiseXor(
+            PsBitwiseXor(j, k),
+            PsBitwiseOr(PsLeftShift(i, PsRightShift(j, k)), PsIntDiv(i, k)),
+        ),
+        i,
+    )
+    code = cprint(expr)
+    assert code == "(j ^ k ^ (i << (j >> k) | i / k)) & i"