diff --git a/arch/ia64/kernel/signal.c b/arch/ia64/kernel/signal.c
index a199be1fe619bc12d00a9e87198b6f919a9f2c74..19f89c09d40d756fe52a67978ab228c79e285f2d 100644
--- a/arch/ia64/kernel/signal.c
+++ b/arch/ia64/kernel/signal.c
@@ -437,14 +437,6 @@ ia64_do_signal (struct sigscratch *scr, long in_syscall)
 	long restart = in_syscall;
 	long errno = scr->pt.r8;
 
-	/*
-	 * In the ia64_leave_kernel code path, we want the common case to go fast, which
-	 * is why we may in certain cases get here from kernel mode. Just return without
-	 * doing anything if so.
-	 */
-	if (!user_mode(&scr->pt))
-		return;
-
 	/*
 	 * This only loops in the rare cases of handle_signal() failing, in which case we
 	 * need to push through a forced SIGSEGV.