diff --git a/py/modcmath.c b/py/modcmath.c
index 80dc0c886009d2476ab9eb51163cec41a72b0495..cfafdf84e87b22081149ee3bdc9986da9f5b0b09 100644
--- a/py/modcmath.c
+++ b/py/modcmath.c
@@ -65,7 +65,7 @@ mp_obj_t mp_cmath_sqrt(mp_obj_t z_obj) {
     mp_obj_get_complex(z_obj, &real, &imag);
     mp_float_t sqrt_abs = MICROPY_FLOAT_C_FUN(pow)(real*real + imag*imag, 0.25);
     mp_float_t theta = 0.5 * MICROPY_FLOAT_C_FUN(atan2)(imag, real);
-    return mp_obj_new_complex(sqrt_abs * cos(theta), sqrt_abs * sin(theta));
+    return mp_obj_new_complex(sqrt_abs * MICROPY_FLOAT_C_FUN(cos)(theta), sqrt_abs * MICROPY_FLOAT_C_FUN(sin)(theta));
 }
 STATIC MP_DEFINE_CONST_FUN_OBJ_1(mp_cmath_sqrt_obj, mp_cmath_sqrt);
 
diff --git a/stmhal/mpconfigport.h b/stmhal/mpconfigport.h
index ad55ed632426b7e2173e81152244e6c40b26f970..faa1c806a48a9db231e022b59e2d3f76aa5ce348 100644
--- a/stmhal/mpconfigport.h
+++ b/stmhal/mpconfigport.h
@@ -19,6 +19,7 @@
 #define MICROPY_ENABLE_LFN          (1)
 #define MICROPY_LFN_CODE_PAGE       (437) /* 1=SFN/ANSI 437=LFN/U.S.(OEM) */
 #define MICROPY_MOD_SYS_STDFILES    (1)
+#define MICROPY_ENABLE_MOD_CMATH    (1)
 
 // extra built in names to add to the global namespace
 extern const struct _mp_obj_fun_native_t mp_builtin_help_obj;