diff --git a/boot/bootutil/src/bootutil_priv.h b/boot/bootutil/src/bootutil_priv.h
index 5f86c7b..2f2a6db 100644
--- a/boot/bootutil/src/bootutil_priv.h
+++ b/boot/bootutil/src/bootutil_priv.h
@@ -142,6 +142,8 @@
 #define BOOT_IMAGE_NUMBER          1
 #endif
 
+_Static_assert(BOOT_IMAGE_NUMBER > 0, "Invalid value for BOOT_IMAGE_NUMBER");
+
 #define BOOT_MAX_IMG_SECTORS       MCUBOOT_MAX_IMG_SECTORS
 
 /*
diff --git a/boot/bootutil/src/loader.c b/boot/bootutil/src/loader.c
index 191171f..b875a1a 100644
--- a/boot/bootutil/src/loader.c
+++ b/boot/bootutil/src/loader.c
@@ -49,6 +49,12 @@
 static struct boot_loader_state boot_data;
 uint8_t current_image = 0;
 
+#if (BOOT_IMAGE_NUMBER > 1)
+#define IMAGES_ITER(x) for ((x) = 0; (x) < BOOT_IMAGE_NUMBER; ++(x))
+#else
+#define IMAGES_ITER(x)
+#endif
+
 #if defined(MCUBOOT_VALIDATE_PRIMARY_SLOT) && !defined(MCUBOOT_OVERWRITE_ONLY)
 static int boot_status_fails = 0;
 #define BOOT_STATUS_ASSERT(x)                \
@@ -1786,7 +1792,7 @@
 
     while (current_image < BOOT_IMAGE_NUMBER) {
         rc = boot_verify_single_image_dependency();
-        if ( rc == 0) {
+        if (rc == 0) {
             /* All dependencies've been satisfied, continue with next image. */
             current_image++;
         } else if (rc == BOOT_EBADVERSION) {
@@ -2125,8 +2131,7 @@
      * to be determined for each image and all aborted swaps have to be
      * completed.
      */
-    for (current_image = 0; current_image < BOOT_IMAGE_NUMBER; ++current_image)
-    {
+    IMAGES_ITER(current_image) {
 
 #if defined(MCUBOOT_ENC_IMAGES) && (BOOT_IMAGE_NUMBER > 1)
         /* The keys used for encryption may no longer be valid (could belong to
@@ -2169,8 +2174,7 @@
      * and the swap types are determined for each image. By the end of the loop
      * all required update operations will have been finished.
      */
-    for (current_image = 0; current_image < BOOT_IMAGE_NUMBER; ++current_image)
-    {
+    IMAGES_ITER(current_image) {
 
 #if (BOOT_IMAGE_NUMBER > 1)
 #ifdef MCUBOOT_ENC_IMAGES
@@ -2232,8 +2236,7 @@
      * have finished. By the end of the loop each image in the primary slot will
      * have been re-validated.
      */
-    for (current_image = 0; current_image < BOOT_IMAGE_NUMBER; ++current_image)
-    {
+    IMAGES_ITER(current_image) {
         if (BOOT_SWAP_TYPE(&boot_data) != BOOT_SWAP_TYPE_NONE) {
             /* Attempt to read an image header from each slot. Ensure that image
              * headers in slots are aligned with headers in boot_data.
@@ -2281,8 +2284,7 @@
             boot_img_hdr(&boot_data, BOOT_PRIMARY_SLOT);
 
  out:
-    for (current_image = 0; current_image < BOOT_IMAGE_NUMBER; ++current_image)
-    {
+    IMAGES_ITER(current_image) {
         flash_area_close(BOOT_SCRATCH_AREA(&boot_data));
         for (slot = 0; slot < BOOT_NUM_SLOTS; slot++) {
             flash_area_close(BOOT_IMG_AREA(&boot_data,
