diff --git a/x86/aes-decrypt.asm b/x86/aes-decrypt.asm
index 09eba870d1bf3c1ca78029c27b6564f04280f715..85c08413a96e67eb988cbdbd23de27a75c6d373a 100644
--- a/x86/aes-decrypt.asm
+++ b/x86/aes-decrypt.asm
@@ -87,19 +87,18 @@ aes_decrypt:
 	AES_FINAL_ROUND(a,d,c,b)
 	pushl	%edi
 
-	AES_FINAL_ROUND(d,c,b,a)
+	AES_FINAL_ROUND(b,a,d,c)
 	pushl	%edi
 
 	AES_FINAL_ROUND(c,b,a,d)
 	pushl	%edi
 
-	AES_FINAL_ROUND(b,a,d,c)
+	AES_FINAL_ROUND(d,c,b,a)
 	
 	movl	%edi,%edx
 	popl	%ecx
 	popl	%ebx
 	popl	%eax
-	xchgl	%ebx,%edx
 
 	C inverse S-box substitution
 	mov	$4,%edi