diff --git a/py/nlr.h b/py/nlr.h
index aacac6a59ccf6dd29e1a81d043e201cd1164e0b0..6c86fc26c3ab5d07c7358f1e745b2e89715cfafd 100644
--- a/py/nlr.h
+++ b/py/nlr.h
@@ -70,8 +70,8 @@ struct _nlr_buf_t {
 NORETURN void nlr_setjmp_jump(void *val);
 // nlr_push() must be defined as a macro, because "The stack context will be
 // invalidated if the function which called setjmp() returns."
-#define nlr_push(buf) ((buf)->prev = MP_STATE_VM(nlr_top), MP_STATE_VM(nlr_top) = (buf), setjmp((buf)->jmpbuf))
-#define nlr_pop() { MP_STATE_VM(nlr_top) = MP_STATE_VM(nlr_top)->prev; }
+#define nlr_push(buf) ((buf)->prev = MP_STATE_THREAD(nlr_top), MP_STATE_THREAD(nlr_top) = (buf), setjmp((buf)->jmpbuf))
+#define nlr_pop() { MP_STATE_THREAD(nlr_top) = MP_STATE_THREAD(nlr_top)->prev; }
 #define nlr_jump(val) nlr_setjmp_jump(val)
 #else
 unsigned int nlr_push(nlr_buf_t *);
@@ -91,7 +91,7 @@ void nlr_jump_fail(void *val);
 #include "mpstate.h"
 #define nlr_raise(val) \
     do { \
-        /*printf("nlr_raise: nlr_top=%p\n", MP_STATE_VM(nlr_top)); \
+        /*printf("nlr_raise: nlr_top=%p\n", MP_STATE_THREAD(nlr_top)); \
         fflush(stdout);*/ \
         void *_val = MP_OBJ_TO_PTR(val); \
         assert(_val != NULL); \
@@ -101,11 +101,11 @@ void nlr_jump_fail(void *val);
 
 #if !MICROPY_NLR_SETJMP
 #define nlr_push(val) \
-    assert(MP_STATE_VM(nlr_top) != val),nlr_push(val)
+    assert(MP_STATE_THREAD(nlr_top) != val),nlr_push(val)
 
 /*
 #define nlr_push(val) \
-    printf("nlr_push: before: nlr_top=%p, val=%p\n", MP_STATE_VM(nlr_top), val),assert(MP_STATE_VM(nlr_top) != val),nlr_push(val)
+    printf("nlr_push: before: nlr_top=%p, val=%p\n", MP_STATE_THREAD(nlr_top), val),assert(MP_STATE_THREAD(nlr_top) != val),nlr_push(val)
 #endif
 */
 #endif
diff --git a/py/nlrsetjmp.c b/py/nlrsetjmp.c
index 661b650c5c05ca531f685ac54938cf838e1a14d4..43a13156f2f53b9bf4ca295fd7c5d2fef2578471 100644
--- a/py/nlrsetjmp.c
+++ b/py/nlrsetjmp.c
@@ -29,8 +29,8 @@
 #if MICROPY_NLR_SETJMP
 
 void nlr_setjmp_jump(void *val) {
-    nlr_buf_t *buf = MP_STATE_VM(nlr_top);
-    MP_STATE_VM(nlr_top) = buf->prev;
+    nlr_buf_t *buf = MP_STATE_THREAD(nlr_top);
+    MP_STATE_THREAD(nlr_top) = buf->prev;
     buf->ret_val = val;
     longjmp(buf->jmpbuf, 1);
 }