diff --git a/py/compile.c b/py/compile.c
index c895b26..ef01304 100644
--- a/py/compile.c
+++ b/py/compile.c
@@ -117,7 +117,7 @@
                         assert(0);
                         res = 0;
                     }
-                    if (MP_FIT_SMALL_INT(res)) {
+                    if (MP_PARSE_FITS_SMALL_INT(res)) {
                         pn = mp_parse_node_new_leaf(MP_PARSE_NODE_SMALL_INT, res);
                     }
                 }
diff --git a/py/parse.c b/py/parse.c
index bbab19d..57d78a0 100644
--- a/py/parse.c
+++ b/py/parse.c
@@ -279,7 +279,7 @@
         }
         if (dec) {
             pn = mp_parse_node_new_leaf(MP_PARSE_NODE_DECIMAL, qstr_from_strn(str, len));
-        } else if (small_int && !overflow && MP_FIT_SMALL_INT(int_val)) {
+        } else if (small_int && !overflow && MP_PARSE_FITS_SMALL_INT(int_val)) {
             pn = mp_parse_node_new_leaf(MP_PARSE_NODE_SMALL_INT, int_val);
         } else {
             pn = mp_parse_node_new_leaf(MP_PARSE_NODE_INTEGER, qstr_from_strn(str, len));
diff --git a/py/parse.h b/py/parse.h
index 66efd8a..6e299ef 100644
--- a/py/parse.h
+++ b/py/parse.h
@@ -14,7 +14,8 @@
 // makes sure the top 5 bits of x are all cleared (positive number) or all set (negavite number)
 // these macros can probably go somewhere else because they are used more than just in the parser
 #define MP_UINT_HIGH_5_BITS (~((~((machine_uint_t)0)) >> 5))
-#define MP_FIT_SMALL_INT(x) (((((machine_uint_t)(x)) & MP_UINT_HIGH_5_BITS) == 0) || ((((machine_uint_t)(x)) & MP_UINT_HIGH_5_BITS) == MP_UINT_HIGH_5_BITS))
+// parser's small ints are different from VM small int
+#define MP_PARSE_FITS_SMALL_INT(x) (((((machine_uint_t)(x)) & MP_UINT_HIGH_5_BITS) == 0) || ((((machine_uint_t)(x)) & MP_UINT_HIGH_5_BITS) == MP_UINT_HIGH_5_BITS))
 
 #define MP_PARSE_NODE_NULL      (0)
 #define MP_PARSE_NODE_ID        (0x1)
