diff --git a/Kernel/arch/x86_64/desctab.asm b/Kernel/arch/x86_64/desctab.asm
index 2d96180d04c1b4e20491294e399e73d6267a467e..8ee4352e509a54344d6a74794e5b0edaf0d787c7 100644
--- a/Kernel/arch/x86_64/desctab.asm
+++ b/Kernel/arch/x86_64/desctab.asm
@@ -386,6 +386,8 @@ SyscallStub:
 	push rcx	; RIP
 	push r11	; RFLAGS
 
+	sti	; Start interrupts again
+
 	; RDI
 	; RSI
 	; RDX
diff --git a/Kernel/arch/x86_64/proc.c b/Kernel/arch/x86_64/proc.c
index 2d07e1ac7f0b8e9e8902a8d95cca36b1c7d2b07a..de25c450ff2619ca7d38a8be616b9acd29cb24bc 100644
--- a/Kernel/arch/x86_64/proc.c
+++ b/Kernel/arch/x86_64/proc.c
@@ -646,24 +646,12 @@ void Proc_StartProcess(Uint16 SS, Uint Stack, Uint Flags, Uint16 CS, Uint IP)
 	else
 	{
 		// 64-bit return
-		#if 1
 		__asm__ __volatile__ (
 			"mov %0, %%rsp;\n\t"	// Set stack pointer
 			"mov %2, %%r11;\n\t"	// Set RFLAGS
 			"sysretq;\n\t"
 			: : "r" (Stack), "c" (IP), "r" (Flags)
 			);
-		#else
-		__asm__ __volatile__ (
-			"push $0x23;\n\t"	// SS
-			"push %0;\n\t"	// RSP
-			"push %2;\n\t"	// Flags
-			"push $0x2B;\n\t"	// CS
-			"push %1;\n\t"	// IP
-			"iretq"
-			: : "r" (Stack), "r" (IP), "r" (Flags)
-			);
-		#endif
 	}
 	for(;;);
 }