diff --git a/source/retarget.cpp b/source/retarget.cpp
index 5f719316..c62efdbc 100644
--- a/source/retarget.cpp
+++ b/source/retarget.cpp
@@ -493,6 +493,8 @@ extern "C" void __iar_argc_argv() {
 // the user should set up their application in app_start
 extern void app_start(int, char**);
 extern "C" int main(void) {
+    // init serial if it has not been invoked prior main
+    init_serial();
     minar::Scheduler::postCallback(
         mbed::util::FunctionPointer2<void, int, char**>(&app_start).bind(0, NULL)
     );