diff --git a/pystencils/backends/cbackend.py b/pystencils/backends/cbackend.py
index 46d9e3a77e6a163acec4fbfcf1ddf0f9a15f8712..3552aeea4f4b280837650021322dd551c3c0f5e2 100644
--- a/pystencils/backends/cbackend.py
+++ b/pystencils/backends/cbackend.py
@@ -362,7 +362,7 @@ class CustomSympyPrinter(CCodePrinter):
         return result.replace("\n", "")
 
     def _print_Abs(self, expr):
-        if expr.is_integer:
+        if expr.args[0].is_integer:
             return 'abs({0})'.format(self._print(expr.args[0]))
         else:
             return 'fabs({0})'.format(self._print(expr.args[0]))
diff --git a/pystencils_tests/test_abs.py b/pystencils_tests/test_abs.py
new file mode 100644
index 0000000000000000000000000000000000000000..53917bcc60a8b409490c492b8281d90b44003c25
--- /dev/null
+++ b/pystencils_tests/test_abs.py
@@ -0,0 +1,19 @@
+import sympy
+
+import pystencils
+from pystencils.data_types import cast_func, create_type
+
+
+def test_abs():
+    x, y, z = pystencils.fields('x, y, z:  float64[2d]')
+
+    default_int_type = create_type('int64')
+
+    assignments = pystencils.AssignmentCollection({
+        x[0, 0]: sympy.Abs(cast_func(y[0, 0], default_int_type))
+    })
+
+    ast = pystencils.create_kernel(assignments, target="gpu")
+    code = pystencils.get_code_str(ast)
+    print(code)
+    assert 'fabs(' not in code