diff --git a/src/jtag/tcl.c b/src/jtag/tcl.c
index 8a7e38c3f91bb9ffa24b212aa69a94efb29784af..0457bc70e0d4d2f7240e959b095aeaccd032513c 100644
--- a/src/jtag/tcl.c
+++ b/src/jtag/tcl.c
@@ -416,7 +416,7 @@ static int jim_newtap_cmd( Jim_GetOptInfo *goi )
 			}
 			switch(n->value){
 			case NTAP_OPT_IRLEN:
-				if (w < (jim_wide) sizeof(pTap->ir_capture_value))
+				if (w > (jim_wide) (8 * sizeof(pTap->ir_capture_value)))
 					LOG_WARNING("huge IR length %d", (int) w);
 				pTap->ir_length = w;
 				reqbits &= (~(NTREQ_IRLEN));