diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c
index 6cd3fbb58ae4a6e1f13a4125b8dc536b521fb8ab..3512b149c560fc7fa32fa169bbfbd9ac70875bda 100644
--- a/drivers/dfu/dfu.c
+++ b/drivers/dfu/dfu.c
@@ -332,7 +332,7 @@ int dfu_read(struct dfu_entity *dfu, void *buf, int size, int blk_seq_num)
 		case DFU_RAM_ADDR:
 			break;
 		default:
-			if (dfu->r_left >= dfu_buf_size) {
+			if (dfu->r_left > dfu_buf_size) {
 				printf("%s: File too big for buffer\n",
 				       __func__);
 				return -EOVERFLOW;