Index: priv/guest_arm_toIR.c
===================================================================
--- priv/guest_arm_toIR.c	(revision 3203)
+++ priv/guest_arm_toIR.c	(working copy)
@@ -19665,10 +19665,10 @@
       UInt how  = INSN1(5,4);
 
       Bool valid = !isBadRegT(rD) && !isBadRegT(rN) && !isBadRegT(rM);
-      /* but allow "add.w reg, sp, reg, lsl #N for N=0,1,2 or 3
+      /* but allow "add.w reg, sp, reg, lsl #N for N=0,1,2,3 or 4
          (T3) "ADD (SP plus register) */
       if (!valid && INSN0(8,5) == BITS4(1,0,0,0) // add
-          && rD != 15 && rN == 13 && imm5 <= 3 && how == 0) {
+          && rD != 15 && rN == 13 && imm5 <= 4 && how == 0) {
          valid = True;
       }
       /* also allow "sub.w reg, sp, reg   w/ no shift
