diff --git a/src/target/arm_disassembler.c b/src/target/arm_disassembler.c
index 5b0046b7def80d1abc5cdd4840ff8af3b61c7a3b..ee087b1215372f044b79db41b003518b2102980e 100644
--- a/src/target/arm_disassembler.c
+++ b/src/target/arm_disassembler.c
@@ -1768,6 +1768,7 @@ static int evaluate_b_bl_blx_thumb(uint16_t opcode,
 		case 1:
 			instruction->type = ARM_BLX;
 			mnemonic = "BLX";
+			target_address &= 0xfffffffc;
 			break;
 		/* BL/BLX prefix */
 		case 2: