diff --git a/src/backends/C/c_backend_spec.ml b/src/backends/C/c_backend_spec.ml
index 890a35773f843134a84039135d28d3c1bcaf6749..e8b8352fd43968bf5588b83f65b1a3a1bb31731e 100644
--- a/src/backends/C/c_backend_spec.ml
+++ b/src/backends/C/c_backend_spec.ml
@@ -391,10 +391,8 @@ module PrintSpec = struct
       let pp = pp_c_val ~indirect:false m mem (pp_c_var_read ~test_output m) in
       (if not_var v then
          if Types.is_bool_type v.value_type then pp_bool_cast pp
-         else if is_const v then
-           if Types.is_real_type v.value_type then pp_double_cast pp
-           else if Types.is_int_type v.value_type then pp_int_cast pp
-           else pp
+         else if Types.is_real_type v.value_type then pp_double_cast pp
+         else if is_const v && Types.is_int_type v.value_type then pp_int_cast pp
          else pp
       else pp)
         fmt