diff --git a/boot/zephyr/CMakeLists.txt b/boot/zephyr/CMakeLists.txt
index b660bc7..81b76f4 100644
--- a/boot/zephyr/CMakeLists.txt
+++ b/boot/zephyr/CMakeLists.txt
@@ -102,7 +102,7 @@
   ${BOOT_DIR}/bootutil/src/bootutil_misc.c
   )
 
-if(CONFIG_SINGLE_IMAGE_DFU)
+if(CONFIG_SINGLE_APPLICATION_SLOT)
 zephyr_library_sources(
   ${BOOT_DIR}/zephyr/single_loader.c
   )
diff --git a/boot/zephyr/Kconfig b/boot/zephyr/Kconfig
index 2e416b8..0cf133a 100644
--- a/boot/zephyr/Kconfig
+++ b/boot/zephyr/Kconfig
@@ -58,8 +58,8 @@
 
 menu "MCUBoot settings"
 
-config SINGLE_IMAGE_DFU
-	bool "Single image application"
+config SINGLE_APPLICATION_SLOT
+	bool "Single slot bootloader"
 	default n
 	help
 	  Single image area is used for application which means that
@@ -163,7 +163,7 @@
 	  every boot, but can mitigate against some changes that are
 	  able to modify the flash image itself.
 
-if !SINGLE_IMAGE_DFU
+if !SINGLE_APPLICATION_SLOT
 choice
 	prompt "Image upgrade modes"
 	default BOOT_SWAP_USING_MOVE if SOC_FAMILY_NRF
@@ -206,7 +206,7 @@
 endchoice
 endif
 
-if !SINGLE_IMAGE_DFU
+if !SINGLE_APPLICATION_SLOT
 config BOOT_BOOTSTRAP
 	bool "Bootstrap erased the primary slot from the secondary slot"
 	default n
@@ -424,7 +424,7 @@
 config UPDATEABLE_IMAGE_NUMBER
 	int "Number of updateable images"
 	default 1
-	range 1 1 if SINGLE_IMAGE_DFU
+	range 1 1 if SINGLE_APPLICATION_SLOT
 	help
 	  Enables support of multi image update.
 
diff --git a/boot/zephyr/flash_map_extended.c b/boot/zephyr/flash_map_extended.c
index ffa4500..50141f5 100644
--- a/boot/zephyr/flash_map_extended.c
+++ b/boot/zephyr/flash_map_extended.c
@@ -57,7 +57,7 @@
 {
     switch (slot) {
     case 0: return FLASH_AREA_IMAGE_PRIMARY(image_index);
-#if !defined(CONFIG_SINGLE_IMAGE_DFU)
+#if !defined(CONFIG_SINGLE_APPLICATION_SLOT)
     case 1: return FLASH_AREA_IMAGE_SECONDARY(image_index);
 #if !defined(CONFIG_BOOT_SWAP_USING_MOVE)
     case 2: return FLASH_AREA_IMAGE_SCRATCH;
@@ -78,7 +78,7 @@
     if (area_id == FLASH_AREA_IMAGE_PRIMARY(image_index)) {
         return 0;
     }
-#if !defined(CONFIG_SINGLE_IMAGE_DFU)
+#if !defined(CONFIG_SINGLE_APPLICATION_SLOT)
     if (area_id == FLASH_AREA_IMAGE_SECONDARY(image_index)) {
         return 1;
     }
diff --git a/boot/zephyr/include/mcuboot_config/mcuboot_config.h b/boot/zephyr/include/mcuboot_config/mcuboot_config.h
index 530e8dc..d395489 100644
--- a/boot/zephyr/include/mcuboot_config/mcuboot_config.h
+++ b/boot/zephyr/include/mcuboot_config/mcuboot_config.h
@@ -58,8 +58,8 @@
 #define MCUBOOT_OVERWRITE_ONLY_FAST
 #endif
 
-#ifdef CONFIG_SINGLE_IMAGE_DFU
-#define MCUBOOT_SINGLE_IMAGE_DFU 1
+#ifdef CONFIG_SINGLE_APPLICATION_SLOT
+#define MCUBOOT_SINGLE_APPLICATION_SLOT 1
 #else
 
 #ifdef CONFIG_BOOT_SWAP_USING_MOVE
@@ -80,7 +80,7 @@
 #define MCUBOOT_SWAP_SAVE_ENCTLV 1
 #endif
 
-#endif /* CONFIG_SINGLE_IMAGE_DFU */
+#endif /* CONFIG_SINGLE_APPLICATION_SLOT */
 
 #ifdef CONFIG_LOG
 #define MCUBOOT_HAVE_LOGGING 1
diff --git a/boot/zephyr/include/sysflash/sysflash.h b/boot/zephyr/include/sysflash/sysflash.h
index f651779..99ca273 100644
--- a/boot/zephyr/include/sysflash/sysflash.h
+++ b/boot/zephyr/include/sysflash/sysflash.h
@@ -6,7 +6,7 @@
 #include <devicetree.h>
 #include <mcuboot_config/mcuboot_config.h>
 
-#ifndef CONFIG_SINGLE_IMAGE_DFU
+#ifndef CONFIG_SINGLE_APPLICATION_SLOT
 
 #if (MCUBOOT_IMAGE_NUMBER == 1)
 /*
@@ -43,7 +43,7 @@
 #define FLASH_AREA_IMAGE_SCRATCH    FLASH_AREA_ID(image_scratch)
 #endif
 
-#else /* CONFIG_SINGLE_IMAGE_DFU */
+#else /* CONFIG_SINGLE_APPLICATION_SLOT */
 
 #define FLASH_AREA_IMAGE_PRIMARY(x)	FLASH_AREA_ID(image_0)
 #define FLASH_AREA_IMAGE_SECONDARY(x)	FLASH_AREA_ID(image_0)
@@ -53,6 +53,6 @@
  */
 #define FLASH_AREA_IMAGE_SCRATCH	0
 
-#endif /* CONFIG_SINGLE_IMAGE_DFU */
+#endif /* CONFIG_SINGLE_APPLICATION_SLOT */
 
 #endif /* __SYSFLASH_H__ */
diff --git a/boot/zephyr/include/target.h b/boot/zephyr/include/target.h
index d585b9c..1b0c8f5 100644
--- a/boot/zephyr/include/target.h
+++ b/boot/zephyr/include/target.h
@@ -37,8 +37,8 @@
     (defined(CONFIG_XTENSA) && !defined(JEDEC_SPI_NOR_0_LABEL)) || \
     !defined(FLASH_ALIGN) ||                  \
     !(FLASH_AREA_LABEL_EXISTS(image_0)) || \
-    !(FLASH_AREA_LABEL_EXISTS(image_1) || CONFIG_SINGLE_IMAGE_DFU) || \
-    (!defined(CONFIG_BOOT_SWAP_USING_MOVE) && !FLASH_AREA_LABEL_EXISTS(image_scratch) && !defined(CONFIG_SINGLE_IMAGE_DFU))
+    !(FLASH_AREA_LABEL_EXISTS(image_1) || CONFIG_SINGLE_APPLICATION_SLOT) || \
+    (!defined(CONFIG_BOOT_SWAP_USING_MOVE) && !FLASH_AREA_LABEL_EXISTS(image_scratch) && !defined(CONFIG_SINGLE_APPLICATION_SLOT))
 #error "Target support is incomplete; cannot build mcuboot."
 #endif
 
