diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
index 12e6fcbd500ed1aea8cae8d4d69e9c3d0c69c5f1..a71966da30ae8d07f17b7338c12a9a43cf6423f4 100644
--- a/arch/arm/kernel/traps.c
+++ b/arch/arm/kernel/traps.c
@@ -544,6 +544,10 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs)
 	struct thread_info *thread = current_thread_info();
 	siginfo_t info;
 
+	/* Emulate/fallthrough. */
+	if (no == -1)
+		return regs->ARM_r0;
+
 	if ((no >> 16) != (__ARM_NR_BASE>> 16))
 		return bad_syscall(no, regs);