Index: arch/mips32/src/start.S
===================================================================
--- arch/mips32/src/start.S	(revision 1f385a6897c8b378a5c6387d3ecb734e2bddb379)
+++ arch/mips32/src/start.S	(revision 25bf215714ae96b50c83987cdb0a5f6aee0f67b2)
@@ -223,5 +223,5 @@
 	
 	beqz $k0, syscall_shortcut
-	add $k0, 8            # Revert $k1 back to correct exc number
+	add $k0, 8            # Revert $k0 back to correct exc number
 	
 	REGISTERS_STORE_AND_EXC_RESET $sp
@@ -240,4 +240,5 @@
 #define SS_STATUS EOFFSET_STATUS
 #define SS_EPC    EOFFSET_EPC
+#define SS_K1     EOFFSET_K1
 syscall_shortcut:
 	# We have a lot of space on the stack, with free use
@@ -245,4 +246,5 @@
 	mfc0 $t0, $status
 	sw $t1,SS_EPC($sp)  # Save EPC
+	sw $k1,SS_K1($sp)   # Save k1, which is not saved during context switch
 	
 	and $t2, $t0, REG_SAVE_MASK # Save only KSU,EXL,ERL,IE
@@ -271,4 +273,5 @@
 	# restore epc+4
 	lw $t0,SS_EPC($sp)
+	lw $k1,SS_K1($sp)
 	addi $t0, $t0, 4
 	mtc0 $t0, $epc
