Index: kernel/arch/sparc64/src/trap/trap_table.S
===================================================================
--- kernel/arch/sparc64/src/trap/trap_table.S	(revision 7ba7c6d0898977b10d41e9c2ac96eda606bd8e2f)
+++ kernel/arch/sparc64/src/trap/trap_table.S	(revision e43982009725c81d67d73f4126d50ca467121cfb)
@@ -738,4 +738,5 @@
 	rdpr %tpc, %g2
 	rdpr %tnpc, %g3
+	rd %y, %g4
 
 	/*
@@ -755,5 +756,4 @@
 	 * Surprisingly, gcc makes use of this register without a notice.
 	 */
-	rd %y, %g4
 	stx %g4, [%sp + PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE + STACK_BIAS + SAVED_Y]
 	
@@ -788,10 +788,4 @@
 
 	/*
-	 * Restore Y.
-	 */
-	ldx [%sp + PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE + STACK_BIAS + SAVED_Y], %g4
-	wr %g4, %y
-
-	/*
 	 * Copy PSTATE.PEF to the in-register copy of TSTATE.
 	 */
@@ -809,4 +803,9 @@
 	wrpr %g3, 0, %tnpc
 
+	/*
+	 * Restore Y.
+	 */
+	ldx [%sp + PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE + STACK_BIAS + SAVED_Y], %g4
+	wr %g4, %y
 
 	/*
