diff --git a/sparc/aes.asm b/sparc/aes.asm
index c57cb2b8f110e9bcb524cbdaf2bad9cd3ecd604a..064a8a0a0af9e1a49555b3f8a971ed3b02cd3357 100644
--- a/sparc/aes.asm
+++ b/sparc/aes.asm
@@ -133,10 +133,7 @@ _aes_crypt:
 	
 	sub	nrounds, 1, round
 	add	ctx, 16, key
-	nop
-	! 4*i
-	! NOTE: Instruction duplicated in delay slot
-	C mov	0, i
+
 .Lround_loop:
 	! The comments mark which j in T->table[j][ Bj(wtxt[IDXi(i)]) ]
 	! the instruction is a part of. 
@@ -149,7 +146,6 @@ _aes_crypt:
 	
 	! IDX2(j) = j XOR 2
 	mov	8, t2			! 2
-	C xor	i, 8, t2		! 2
 	add	wtxt, t1, t1		! 1
 	ldub	[t1+2], t1		! 1
 	ld	[IDX3], t3		! 3
@@ -178,13 +174,11 @@ _aes_crypt:
 	xor	t0, t3, t0		! 0, 1, 2, 3
 	xor	t0, t1, t0
 	st	t0, [tmp]
-	C add	i, 4, i
 
 	C i = 1
 	ld	[IDX1+4], t1		! 1
 	
 	! IDX2(j) = j XOR 2
-	C xor	i, 8, t2		! 2
 	mov	12, t2			! 2
 	add	wtxt, t1, t1		! 1
 	ldub	[t1+2], t1		! 1
@@ -214,13 +208,11 @@ _aes_crypt:
 	xor	t0, t3, t0		! 0, 1, 2, 3
 	xor	t0, t1, t0
 	st	t0, [tmp+4]
-	C add	i, 4, i
 
 	C = 2
 	ld	[IDX1+8], t1		! 1
 	
 	! IDX2(j) = j XOR 2
-	C xor	i, 8, t2		! 2
 	mov	0, t2			! 2
 	add	wtxt, t1, t1		! 1
 	ldub	[t1+2], t1		! 1
@@ -250,13 +242,11 @@ _aes_crypt:
 	xor	t0, t3, t0		! 0, 1, 2, 3
 	xor	t0, t1, t0
 	st	t0, [tmp+8]
-	C add	i, 4, i
 
 	C = 3
 	ld	[IDX1+12], t1		! 1
 	
 	! IDX2(j) = j XOR 2
-	C xor	i, 8, t2		! 2
 	mov	4, t2			! 2
 	add	wtxt, t1, t1		! 1
 	ldub	[t1+2], t1		! 1
@@ -286,7 +276,6 @@ _aes_crypt:
 	xor	t0, t3, t0		! 0, 1, 2, 3
 	xor	t0, t1, t0
 	st	t0, [tmp+12]
-	C add	i, 4, i
 			
 	C End of unrolled loop
 	
@@ -295,10 +284,8 @@ _aes_crypt:
 	xor	tmp, diff, tmp
 
 	subcc	round, 1, round
-	add	key, 16, key
 	bne	.Lround_loop
-	nop
-	C mov	0, i
+	add	key, 16, key
 
 	! final round
 	! Use round as the loop variable, as it's already zero