diff --git a/boot/bootutil/src/bootutil_misc.c b/boot/bootutil/src/bootutil_misc.c
index 0b1d1f0..153d56b 100644
--- a/boot/bootutil/src/bootutil_misc.c
+++ b/boot/bootutil/src/bootutil_misc.c
@@ -328,7 +328,7 @@
     align = hal_flash_align(fap->fa_device_id);
     assert(align <= BOOT_MAX_ALIGN);
     memset(buf, 0xFF, BOOT_MAX_ALIGN);
-    buf[0] = 1;
+    buf[0] = BOOT_FLAG_SET;
 
     rc = flash_area_write(fap, off, buf, align);
     if (rc != 0) {
@@ -472,12 +472,12 @@
         return BOOT_EBADVECT;
     }
 
-    if (state_slot0.copy_done == 0xff) {
+    if (state_slot0.copy_done == BOOT_FLAG_UNSET) {
         /* Swap never completed.  This is unexpected. */
         return BOOT_EBADVECT;
     }
 
-    if (state_slot0.image_ok != BOOT_IMAGE_UNSET) {
+    if (state_slot0.image_ok != BOOT_FLAG_UNSET) {
         /* Already confirmed. */
         return 0;
     }
diff --git a/boot/bootutil/src/bootutil_priv.h b/boot/bootutil/src/bootutil_priv.h
index 59f655d..85fa178 100644
--- a/boot/bootutil/src/bootutil_priv.h
+++ b/boot/bootutil/src/bootutil_priv.h
@@ -90,8 +90,8 @@
 #define BOOT_FLAG_IMAGE_OK         0
 #define BOOT_FLAG_COPY_DONE        1
 
-#define BOOT_IMAGE_OK              0x01
-#define BOOT_IMAGE_UNSET           0xff
+#define BOOT_FLAG_SET              0x01
+#define BOOT_FLAG_UNSET            0xff
 
 extern const uint32_t BOOT_MAGIC_SZ;
 
diff --git a/boot/bootutil/src/loader.c b/boot/bootutil/src/loader.c
index dbf2c1e..56f7ab9 100644
--- a/boot/bootutil/src/loader.c
+++ b/boot/bootutil/src/loader.c
@@ -788,7 +788,7 @@
     rc = boot_read_swap_state_by_id(FLASH_AREA_IMAGE_1, &swap_state);
     assert(rc == 0);
 
-    if (swap_state.image_ok == BOOT_IMAGE_OK) {
+    if (swap_state.image_ok == BOOT_FLAG_SET) {
         rc = boot_write_image_ok(fap);
         assert(rc == 0);
     }
@@ -947,7 +947,7 @@
                                             &swap_state);
             assert(rc == 0);
 
-            if (swap_state.image_ok == BOOT_IMAGE_OK) {
+            if (swap_state.image_ok == BOOT_FLAG_SET) {
                 rc = boot_write_image_ok(fap);
                 assert(rc == 0);
             }
@@ -1138,14 +1138,14 @@
         }
     }
 
-    if (state_slot0.copy_done == 0xff) {
+    if (state_slot0.copy_done == BOOT_FLAG_UNSET) {
         rc = boot_write_copy_done(fap);
         if (rc != 0) {
             return rc;
         }
     }
 
-    if (state_slot0.image_ok == BOOT_IMAGE_UNSET) {
+    if (state_slot0.image_ok == BOOT_FLAG_UNSET) {
         rc = boot_write_image_ok(fap);
         if (rc != 0) {
             return rc;
