diff --git a/pystencils/backends/cbackend.py b/pystencils/backends/cbackend.py
index 46d9e3a77e6a163acec4fbfcf1ddf0f9a15f8712..696690e8972f26daaf17a4475cc210ffd946052e 100644
--- a/pystencils/backends/cbackend.py
+++ b/pystencils/backends/cbackend.py
@@ -391,6 +391,8 @@ class CustomSympyPrinter(CCodePrinter):
             if isinstance(arg, sp.Number) and arg.is_finite:
                 return self._typed_number(arg, data_type)
             else:
+                if str(arg) == "-1":
+                    print("!!")
                 return "((%s)(%s))" % (data_type, self._print(arg))
         elif isinstance(expr, fast_division):
             return "({})".format(self._print(expr.args[0] / expr.args[1]))
diff --git a/pystencils/data_types.py b/pystencils/data_types.py
index 786351f528573179543900bde760f675ddfe10a6..c5233ed6408b7775c97ba84c80fb549e78930500 100644
--- a/pystencils/data_types.py
+++ b/pystencils/data_types.py
@@ -550,7 +550,7 @@ def get_type_of_expression(expr,
         return result
     elif isinstance(expr, sp.Pow):
         base_type = get_type(expr.args[0])
-        if expr.exp.is_integer:
+        if expr.exp.is_integer or expr.exp == sp.Rational(1, 2):
             return base_type
         else:
             return collate_types([create_type(default_float_type), base_type])