diff --git a/arch/s390/lib/uaccess.c b/arch/s390/lib/uaccess.c
index 4dec9fc12f73422dc3ce0f652e77f19bb208909d..7f33eb4dffbaeb52f89ec36629fe4e9cef20d2e8 100644
--- a/arch/s390/lib/uaccess.c
+++ b/arch/s390/lib/uaccess.c
@@ -62,8 +62,8 @@ static unsigned long raw_copy_from_user_key(void *to, const void __user *from,
 		"5:	slgr	%[size],%[size]\n"
 		"6:\n"
 		EX_TABLE(0b, 2b)
-		EX_TABLE(3b, 6b)
 		EX_TABLE(1b, 2b)
+		EX_TABLE(3b, 6b)
 		EX_TABLE(4b, 6b)
 		: [size] "+a" (size), [from] "+a" (from), [to] "+a" (to),
 		  [tmp1] "+a" (tmp1), [tmp2] "=a" (tmp2)
@@ -126,8 +126,8 @@ static unsigned long raw_copy_to_user_key(void __user *to, const void *from,
 		"5:	slgr	%[size],%[size]\n"
 		"6:\n"
 		EX_TABLE(0b, 2b)
-		EX_TABLE(3b, 6b)
 		EX_TABLE(1b, 2b)
+		EX_TABLE(3b, 6b)
 		EX_TABLE(4b, 6b)
 		: [size] "+a" (size), [to] "+a" (to), [from] "+a" (from),
 		  [tmp1] "+a" (tmp1), [tmp2] "=a" (tmp2)