diff --git a/pystencils/backends/cbackend.py b/pystencils/backends/cbackend.py
index 7c4937d1f524fdd76299a0f86b97bae4377eab16..a9b775d7bd1579b3d28bc888f0d43a82bb475532 100644
--- a/pystencils/backends/cbackend.py
+++ b/pystencils/backends/cbackend.py
@@ -384,6 +384,30 @@ class CustomSympyPrinter(CCodePrinter):
         else:
             return res
 
+    def _print_Sum(self, expr):
+        template = jinja2.Template(
+            """[&]() {
+    {{dtype}} sum = ({{dtype}}) 0;
+    for ( {{iterator_dtype}} {{var}} = {{start}}; {{condition}}; {{var}} += {{increment}} ) {
+        sum += {{expr}};
+    }
+    return sum;
+}()""")
+        var = expr.limits[0][0]
+        start = expr.limits[0][1]
+        end = expr.limits[0][2]
+        code = template.render(
+            dtype='float',
+            iterator_dtype='int',
+            var=self._print(var),
+            start=self._print(start),
+            end=self._print(end),
+            expr=self._print(expr.function),
+            increment=str(1),
+            condition=self._print(var) + ' <= ' + self._print(end)  # if start < end else '>='
+        )
+        return code
+
     _print_Max = C89CodePrinter._print_Max
     _print_Min = C89CodePrinter._print_Min