diff --git a/valgrind-3.14.0-s390x-sign-extend-lochi.patch b/valgrind-3.14.0-s390x-sign-extend-lochi.patch
new file mode 100644
index 0000000..318012f
--- /dev/null
+++ b/valgrind-3.14.0-s390x-sign-extend-lochi.patch
@@ -0,0 +1,41 @@
+commit 9545e9f96beda6e9f2205bdb3c3e96edaf8d9e2b
+Author: Andreas Arnez <arnez@linux.ibm.com>
+Date:   Tue Oct 30 17:06:38 2018 +0100
+
+    Bug 400491 s390x: Sign-extend immediate operand of LOCHI and friends
+    
+    The VEX implementation of each of the z/Architecture instructions LOCHI,
+    LOCHHI, and LOCGHI treats the immediate 16-bit operand as an unsigned
+    integer instead of a signed integer.  This is fixed.
+
+diff --git a/VEX/priv/guest_s390_toIR.c b/VEX/priv/guest_s390_toIR.c
+index 60b6081..9c4d79b 100644
+--- a/VEX/priv/guest_s390_toIR.c
++++ b/VEX/priv/guest_s390_toIR.c
+@@ -16307,7 +16307,7 @@ static const HChar *
+ s390_irgen_LOCHHI(UChar r1, UChar m3, UShort i2, UChar unused)
+ {
+    next_insn_if(binop(Iop_CmpEQ32, s390_call_calculate_cond(m3), mkU32(0)));
+-   put_gpr_w0(r1, mkU32(i2));
++   put_gpr_w0(r1, mkU32((UInt)(Int)(Short)i2));
+ 
+    return "lochhi";
+ }
+@@ -16316,7 +16316,7 @@ static const HChar *
+ s390_irgen_LOCHI(UChar r1, UChar m3, UShort i2, UChar unused)
+ {
+    next_insn_if(binop(Iop_CmpEQ32, s390_call_calculate_cond(m3), mkU32(0)));
+-   put_gpr_w1(r1, mkU32(i2));
++   put_gpr_w1(r1, mkU32((UInt)(Int)(Short)i2));
+ 
+    return "lochi";
+ }
+@@ -16325,7 +16325,7 @@ static const HChar *
+ s390_irgen_LOCGHI(UChar r1, UChar m3, UShort i2, UChar unused)
+ {
+    next_insn_if(binop(Iop_CmpEQ32, s390_call_calculate_cond(m3), mkU32(0)));
+-   put_gpr_dw0(r1, mkU64(i2));
++   put_gpr_dw0(r1, mkU64((UInt)(Int)(Short)i2));
+ 
+    return "locghi";
+ }
diff --git a/valgrind.spec b/valgrind.spec
index 00e3dbf..fdd36b8 100644
--- a/valgrind.spec
+++ b/valgrind.spec
@@ -114,6 +114,9 @@ Patch3: valgrind-3.9.0-ldso-supp.patch
 # KDE#400490 s390x: Fix register allocation for VRs vs FPRs
 Patch4: valgrind-3.14.0-s390x-fix-reg-alloc-vr-vs-fpr.patch
 
+# KDE#400491 s390x: Sign-extend immediate operand of LOCHI and friends
+Patch5: valgrind-3.14.0-s390x-sign-extend-lochi.patch
+
 %if %{build_multilib}
 # Ensure glibc{,-devel} is installed for both multilib arches
 BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
@@ -250,6 +253,7 @@ Valgrind User Manual for details.
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
 
 %build
 CC=gcc
@@ -486,6 +490,7 @@ fi
 %changelog
 * Tue Nov 20 2018 Mark Wielaard  <mjw@fedoraproject.org>
 - Add valgrind-3.14.0-s390x-fix-reg-alloc-vr-vs-fpr.patch.
+- Add valgrind-3.14.0-s390x-sign-extend-lochi.patch.
 
 * Tue Oct  9 2018 Mark Wielaard  <mjw@fedoraproject.org> - 3.14.0-1
 - valgrind 3.14.0 final.