diff --git a/pystencils/backends/cbackend.py b/pystencils/backends/cbackend.py
index ae29ee1da7fcda7640c669d1c155d4d86aa37fbe..7f8e546c9c1248fdfcb20aeef7373fca6ecec8b8 100644
--- a/pystencils/backends/cbackend.py
+++ b/pystencils/backends/cbackend.py
@@ -228,7 +228,8 @@ class CBackend:
     def _print_LoopOverCoordinate(self, node):
         counter_symbol = node.loop_counter_name
         start = f"int {counter_symbol} = {self.sympy_printer.doprint(node.start)}"
-        condition = f"{counter_symbol} < {self.sympy_printer.doprint(node.stop)}"
+        condition = f"{self.sympy_printer.doprint(node.relational(node.loop_counter_symbol, node.stop))}"
+        #condition = f"{counter_symbol} < {self.sympy_printer.doprint(node.stop)}"
         update = f"{counter_symbol} += {self.sympy_printer.doprint(node.step)}"
         loop_str = f"for ({start}; {condition}; {update})"
 
@@ -412,6 +413,8 @@ class CustomSympyPrinter(CCodePrinter):
             return f"(1 << ({self._print(expr.args[0])}))"
         elif expr.func == int_div:
             return f"(({self._print(expr.args[0])}) / ({self._print(expr.args[1])}))"
+        elif expr.func == post_increment:
+            return f"({self._print(expr.args[0])})"
         else:
             name = expr.name if hasattr(expr, 'name') else expr.__class__.__name__
             arg_str = ', '.join(self._print(a) for a in expr.args)
diff --git a/pystencils/integer_functions.py b/pystencils/integer_functions.py
index c6fae4fbf34baf61757b87cd142f8936347a81f7..a6b9daf21c061b67fb42884c42f8512a22f5f7de 100644
--- a/pystencils/integer_functions.py
+++ b/pystencils/integer_functions.py
@@ -59,7 +59,11 @@ class int_div(IntegerFunctionTwoArgsMixIn):
 
 
 # noinspection PyPep8Naming
-class int_power_of_2(IntegerFunctionTwoArgsMixIn):
+class int_power_of_2(sp.Function):
+    pass
+
+# noinspection PyPep8Naming
+class post_increment(sp.Function):
     pass