diff --git a/third_party/libopenjpeg20/t1.c b/third_party/libopenjpeg20/t1.c
index a119db1f7..1ad850c77 100644
--- a/third_party/libopenjpeg20/t1.c
+++ b/third_party/libopenjpeg20/t1.c
@@ -1411,7 +1411,7 @@ static OPJ_BOOL opj_t1_decode_cblk(opj_t1_t *t1,
             }
                }
 
-               for (passno = 0; passno < seg->real_num_passes; ++passno) {
+               for (passno = 0; (passno < seg->real_num_passes) && (bpno_plus_one >= 1); ++passno) {
             switch (passtype) {
                 case 0:
                     if (type == T1_TYPE_RAW) {