diff --git a/src/flash/flash.c b/src/flash/flash.c
index e5adcc861585cbee117e8d1f12c032b3fdf20029..b9c9f5cf5b3b7fd1531f778ce2b5a4b9a1dca649 100644
--- a/src/flash/flash.c
+++ b/src/flash/flash.c
@@ -905,7 +905,7 @@ flash_bank_t *get_flash_bank_by_addr(target_t *target, u32 addr)
 			return NULL;
 		}
 		/* check whether address belongs to this flash bank */
-		if ((addr >= c->base) && (addr < c->base + c->size) && target == c->target)
+		if ((addr >= c->base) && (addr <= c->base + (c->size - 1)) && target == c->target)
 			return c;
 	}
 	LOG_ERROR("No flash at address 0x%08x\n", addr);