diff --git a/target-arm/translate.c b/target-arm/translate.c
index 45bf77256f..5cf3e06ba6 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -6622,7 +6622,7 @@ static void disas_arm_insn(CPUState * env, DisasContext *s)
                                 gen_store_exclusive(s, rd, rm, 15, addr, 2);
                                 break;
                             case 1: /*  strexd */
-                                gen_store_exclusive(s, rd, rm, rm + 1, addr, 2);
+                                gen_store_exclusive(s, rd, rm, rm + 1, addr, 3);
                                 break;
                             case 2: /*  strexb */
                                 gen_store_exclusive(s, rd, rm, 15, addr, 0);