diff --git a/apps/bletest/src/main.c b/apps/bletest/src/main.c
index 6c59532..dbfa053 100755
--- a/apps/bletest/src/main.c
+++ b/apps/bletest/src/main.c
@@ -1105,10 +1105,6 @@
     g_led_pin = LED_BLINK_PIN;
     hal_gpio_init_out(g_led_pin, 1);
 
-    /* Init the console */
-    rc = console_init(shell_console_rx_cb);
-    assert(rc == 0);
-
 #if 0
     rc = hal_flash_init();
     assert(rc == 0);
diff --git a/apps/bletiny/src/main.c b/apps/bletiny/src/main.c
index f5c57ba..733f8d1 100755
--- a/apps/bletiny/src/main.c
+++ b/apps/bletiny/src/main.c
@@ -1661,10 +1661,6 @@
     rc = os_msys_register(&default_mbuf_pool);
     assert(rc == 0);
 
-    /* Initialize the console (for shell and logging). */
-    rc = console_init(shell_console_rx_cb);
-    assert(rc == 0);
-
     /* Create the shell task. */
     rc = shell_task_init(SHELL_TASK_PRIO, shell_stack, SHELL_TASK_STACK_SIZE,
                          SHELL_MAX_INPUT_LEN);
diff --git a/apps/blinky/src/main.c b/apps/blinky/src/main.c
index 24d0311..4d797b3 100755
--- a/apps/blinky/src/main.c
+++ b/apps/blinky/src/main.c
@@ -178,8 +178,6 @@
     shell_task_init(SHELL_TASK_PRIO, shell_stack, SHELL_TASK_STACK_SIZE,
                     SHELL_MAX_INPUT_LEN);
 
-    (void) console_init(shell_console_rx_cb);
-
     stats_module_init();
 
     rc = init_tasks();
diff --git a/apps/luatest/src/main.c b/apps/luatest/src/main.c
index 76dd13f..9cd3d5a 100755
--- a/apps/luatest/src/main.c
+++ b/apps/luatest/src/main.c
@@ -88,7 +88,6 @@
     /* Init tasks */
     shell_task_init(SHELL_TASK_PRIO, shell_stack, SHELL_TASK_STACK_SIZE,
                          SHELL_MAX_INPUT_LEN);
-    console_init(shell_console_rx_cb);
 
     nffs_init();
 
diff --git a/apps/slinky/src/main.c b/apps/slinky/src/main.c
index f57657f..d9dd29a 100755
--- a/apps/slinky/src/main.c
+++ b/apps/slinky/src/main.c
@@ -58,7 +58,7 @@
 int init_tasks(void);
 
 /* Task 1 */
-#define TASK1_PRIO (1)
+#define TASK1_PRIO (8)
 #define TASK1_STACK_SIZE    OS_STACK_ALIGN(128)
 #define MAX_CBMEM_BUF 600
 struct os_task task1;
@@ -66,7 +66,7 @@
 static volatile int g_task1_loops;
 
 /* Task 2 */
-#define TASK2_PRIO (2)
+#define TASK2_PRIO (9)
 #define TASK2_STACK_SIZE    OS_STACK_ALIGN(128)
 struct os_task task2;
 os_stack_t stack2[TASK2_STACK_SIZE];
@@ -395,8 +395,6 @@
     shell_task_init(SHELL_TASK_PRIO, shell_stack, SHELL_TASK_STACK_SIZE,
                     SHELL_MAX_INPUT_LEN);
 
-    (void) console_init(shell_console_rx_cb);
-
     nmgr_task_init(NEWTMGR_TASK_PRIO, newtmgr_stack, NEWTMGR_TASK_STACK_SIZE);
     imgmgr_module_init();
     bootutil_cfg_register();
diff --git a/libs/shell/src/shell.c b/libs/shell/src/shell.c
index 95ddcb0..4b95a2b 100644
--- a/libs/shell/src/shell.c
+++ b/libs/shell/src/shell.c
@@ -454,6 +454,7 @@
     struct os_event *ev;
 
     console_rdy_ev.ev_type = OS_EVENT_T_CONSOLE_RDY;
+    console_init(shell_console_rx_cb);
 
     while (1) {
         ev = os_eventq_get(&shell_evq);
