diff --git a/boot/zephyr/include/flash_map_backend/flash_map_backend.h b/boot/zephyr/include/flash_map_backend/flash_map_backend.h
index c082dd6..33c34f0 100644
--- a/boot/zephyr/include/flash_map_backend/flash_map_backend.h
+++ b/boot/zephyr/include/flash_map_backend/flash_map_backend.h
@@ -51,6 +51,7 @@
 int flash_device_base(uint8_t fd_id, uintptr_t *ret);
 
 int flash_area_id_from_image_slot(int slot);
+int flash_area_id_from_multi_image_slot(int image_index, int slot);
 
 /**
  * Converts the specified flash area ID to an image slot index.
@@ -60,6 +61,15 @@
  */
 int flash_area_id_to_image_slot(int area_id);
 
+/**
+ * Converts the specified flash area ID and image index (in multi-image setup)
+ * to an image slot index.
+ *
+ * Returns image slot index (0 or 1), or -1 if ID doesn't correspond to an image
+ * slot.
+ */
+int flash_area_id_to_multi_image_slot(int image_index, int area_id);
+
 /* Retrieve the flash sector a given offset belongs to.
  *
  * Returns 0 on success, or an error code on failure.
diff --git a/boot/zephyr/include/sysflash/sysflash.h b/boot/zephyr/include/sysflash/sysflash.h
index d4617bb..c422efd 100644
--- a/boot/zephyr/include/sysflash/sysflash.h
+++ b/boot/zephyr/include/sysflash/sysflash.h
@@ -6,26 +6,33 @@
 #include <generated_dts_board.h>
 #include <mcuboot_config/mcuboot_config.h>
 
-extern uint8_t current_image;
-
 #if (MCUBOOT_IMAGE_NUMBER == 1)
-#define FLASH_AREA_IMAGE_PRIMARY    DT_FLASH_AREA_IMAGE_0_ID
-#define FLASH_AREA_IMAGE_SECONDARY  DT_FLASH_AREA_IMAGE_1_ID
+/*
+ * NOTE: the definition below returns the same values for true/false on
+ * purpose, to avoid having to mark x as non-used by all callers when
+ * running in single image mode.
+ */
+#define FLASH_AREA_IMAGE_PRIMARY(x)    (((x) == 0) ?                \
+                                         DT_FLASH_AREA_IMAGE_0_ID : \
+                                         DT_FLASH_AREA_IMAGE_0_ID)
+#define FLASH_AREA_IMAGE_SECONDARY(x)  (((x) == 0) ?                \
+                                         DT_FLASH_AREA_IMAGE_1_ID : \
+                                         DT_FLASH_AREA_IMAGE_1_ID)
 #elif (MCUBOOT_IMAGE_NUMBER == 2)
 /* MCUBoot currently supports only up to 2 updateable firmware images.
  * If the number of the current image is greater than MCUBOOT_IMAGE_NUMBER - 1
  * then a dummy value will be assigned to the flash area macros.
  */
-#define FLASH_AREA_IMAGE_PRIMARY    ((current_image == 0) ?         \
+#define FLASH_AREA_IMAGE_PRIMARY(x)    (((x) == 0) ?                \
                                          DT_FLASH_AREA_IMAGE_0_ID : \
-                                     (current_image == 1) ?         \
+                                        ((x) == 1) ?                \
                                          DT_FLASH_AREA_IMAGE_2_ID : \
-                                         255 )
-#define FLASH_AREA_IMAGE_SECONDARY  ((current_image == 0) ?         \
+                                         255)
+#define FLASH_AREA_IMAGE_SECONDARY(x)  (((x) == 0) ?                \
                                          DT_FLASH_AREA_IMAGE_1_ID : \
-                                     (current_image == 1) ?         \
+                                        ((x) == 1) ?                \
                                          DT_FLASH_AREA_IMAGE_3_ID : \
-                                         255 )
+                                         255)
 #else
 #error "Image slot and flash area mapping is not defined"
 #endif
