diff --git a/qemu-arm/main.c b/qemu-arm/main.c
index 1673c82afd1e76b12b14476e2f41c8b15f43004c..0507744126c766e29224b533a8adedc36e409b33 100644
--- a/qemu-arm/main.c
+++ b/qemu-arm/main.c
@@ -27,7 +27,7 @@ void do_str(const char *src) {
         nlr_pop();
     } else {
         // uncaught exception
-        mp_obj_print_exception(&mp_extern_printf_wrapper, (mp_obj_t)nlr.ret_val);
+        mp_obj_print_exception(&mp_plat_print, (mp_obj_t)nlr.ret_val);
     }
 }
 
diff --git a/qemu-arm/test_main.c b/qemu-arm/test_main.c
index a52913353288b06728be4739978bc092e14f9499..1d699d3e25ee0eb3075d4817bdcd106f21227302 100644
--- a/qemu-arm/test_main.c
+++ b/qemu-arm/test_main.c
@@ -38,7 +38,7 @@ inline void do_str(const char *src) {
             tinytest_set_test_skipped_();
             return;
         }
-        mp_obj_print_exception(&mp_extern_printf_wrapper, exc);
+        mp_obj_print_exception(&mp_plat_print, exc);
         tt_abort_msg("Uncaught exception");
     }
 end: