diff --git a/unix/modos.c b/unix/modos.c
index a6be4bfff0c29dce5a8bd8f0cb558b7424696f2f..657958d04ca8159d77700f46672ad3bfe83b12fe 100644
--- a/unix/modos.c
+++ b/unix/modos.c
@@ -52,7 +52,7 @@ STATIC mp_obj_t mod_os_stat(mp_obj_t path_in) {
 
     mp_obj_tuple_t *t = mp_obj_new_tuple(10, NULL);
     t->items[0] = MP_OBJ_NEW_SMALL_INT((machine_int_t)sb.st_mode);
-    t->items[1] = MP_OBJ_NEW_SMALL_INT(sb.st_ino);
+    t->items[1] = MP_OBJ_NEW_SMALL_INT((machine_int_t)sb.st_ino);
     t->items[2] = MP_OBJ_NEW_SMALL_INT((machine_int_t)sb.st_dev);
     t->items[3] = MP_OBJ_NEW_SMALL_INT((machine_int_t)sb.st_nlink);
     t->items[4] = MP_OBJ_NEW_SMALL_INT((machine_int_t)sb.st_uid);
diff --git a/unix/modtime.c b/unix/modtime.c
index f957b967848debabb1306d6f5661ff8abc11d7aa..3cc09e3cd849cf418a5e9529b4ef1f95e43c8eef 100644
--- a/unix/modtime.c
+++ b/unix/modtime.c
@@ -55,10 +55,8 @@ void msec_sleep_tv(struct timeval *tv) {
 #define MP_CLOCKS_PER_SEC CLOCKS_PER_SEC
 #endif
 
-#if defined(MP_CLOCKS_PER_SEC) && (MP_CLOCKS_PER_SEC == 1000000) // POSIX
-#define CLOCK_DIV 1000.0
-#elif defined(MP_CLOCKS_PER_SEC) && (MP_CLOCKS_PER_SEC == 1000) // WIN32
-#define CLOCK_DIV 1.0
+#if defined(MP_CLOCKS_PER_SEC)
+#define CLOCK_DIV (MP_CLOCKS_PER_SEC / 1000.0)
 #else
 #error Unsupported clock() implementation
 #endif