diff --git a/src/target/etb.c b/src/target/etb.c
index 74c0e952262f1798fa50073f2043ea1598a824b6..1d70f416e0836c6fcd358354a2ee3cc86bc452e4 100644
--- a/src/target/etb.c
+++ b/src/target/etb.c
@@ -283,10 +283,10 @@ int etb_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask)
 	buf_set_u32(fields[1].out_value, 0, 7, 0x0);
 	fields[0].in_value = reg->value;
 
-	jtag_set_check_value(fields+0, check_value, check_mask, NULL);
-
 	jtag_add_dr_scan(3, fields, TAP_INVALID);
 
+	jtag_check_value_mask(fields+0, check_value, check_mask);
+
 	free(fields[1].out_value);
 	free(fields[2].out_value);