diff --git a/boot/zephyr/main.c b/boot/zephyr/main.c
index 2fd80ee..47e118c 100644
--- a/boot/zephyr/main.c
+++ b/boot/zephyr/main.c
@@ -57,13 +57,17 @@
 /* log are processing in custom routine */
 K_THREAD_STACK_DEFINE(boot_log_stack, BOOT_LOG_STACK_SIZE);
 struct k_thread boot_log_thread;
+volatile bool boot_log_stop = false;
+K_SEM_DEFINE(boot_log_sem, 1, 1);
 
 /* log processing need to be initalized by the application */
 #define ZEPHYR_BOOT_LOG_START() zephyr_boot_log_start()
+#define ZEPHYR_BOOT_LOG_STOP() zephyr_boot_log_stop()
 #endif /* CONFIG_LOG_PROCESS_THREAD */
 #else
 /* synchronous log mode doesn't need to be initalized by the application */
 #define ZEPHYR_BOOT_LOG_START() do { } while (false)
+#define ZEPHYR_BOOT_LOG_STOP() do { } while (false)
 #endif /* defined(CONFIG_LOG) && !defined(CONFIG_LOG_IMMEDIATE) */
 
 #ifdef CONFIG_SOC_FAMILY_NRF
@@ -217,9 +221,14 @@
 
      while (1) {
              if (log_process(false) == false) {
+                    if (boot_log_stop) {
+                        break;
+                    }
                     k_sleep(BOOT_LOG_PROCESSING_INTERVAL);
              }
      }
+
+     k_sem_give(&boot_log_sem);
 }
 
 void zephyr_boot_log_start(void)
@@ -233,6 +242,18 @@
 
         k_thread_name_set(&boot_log_thread, "logging");
 }
+
+void zephyr_boot_log_stop(void)
+{
+    boot_log_stop = true;
+
+    /* wait until log procesing thread expired
+     * This can be reworked using a thread_join() API once a such will be
+     * available in zephyr.
+     * see https://github.com/zephyrproject-rtos/zephyr/issues/21500
+     */
+    (void)k_sem_take(&boot_log_sem, K_FOREVER);
+}
 #endif/* defined(CONFIG_LOG) && !defined(CONFIG_LOG_IMMEDIATE) &&\
         !defined(CONFIG_LOG_PROCESS_THREAD) */
 
@@ -322,6 +343,7 @@
                  rsp.br_image_off);
 
     BOOT_LOG_INF("Jumping to the first image slot");
+    ZEPHYR_BOOT_LOG_STOP();
     do_boot(&rsp);
 
     BOOT_LOG_ERR("Never should get here");
