diff --git a/boot/zephyr/flash_map.c b/boot/zephyr/flash_map.c
index d417666..fca3724 100644
--- a/boot/zephyr/flash_map.c
+++ b/boot/zephyr/flash_map.c
@@ -64,11 +64,13 @@
     BOOT_LOG_DBG("area %d", id);
 
     for (i = 0; i < ARRAY_SIZE(part_map); i++) {
-        if (id == part_map[i].fa_id)
+        if (id == part_map[i].fa_id) {
             break;
+        }
     }
-    if (i == ARRAY_SIZE(part_map))
+    if (i == ARRAY_SIZE(part_map)) {
         return -1;
+    }
 
     *area = &part_map[i];
     return 0;
@@ -147,11 +149,13 @@
      * This simple layout has uniform slots, so just fill in the
      * right one.
      */
-    if (idx < FLASH_AREA_IMAGE_0 || idx > FLASH_AREA_IMAGE_SCRATCH)
+    if (idx < FLASH_AREA_IMAGE_0 || idx > FLASH_AREA_IMAGE_SCRATCH) {
         return -1;
+    }
 
-    if (*cnt < 1)
+    if (*cnt < 1) {
         return -1;
+    }
 
     switch (idx) {
     case FLASH_AREA_IMAGE_0:
