diff --git a/ChangeLog b/ChangeLog
index c60fac411cd2730daa47e2ea9cfb73c510a4868a..1584f9fc67634b29c392b8bcfdbfc07322f4007e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,8 @@
 
 	* x86/aes-encrypt.asm (aes_encrypt): Use the AES_LAST_ROUND macro
 	for the first column of the final round.
+	(aes_encrypt): Similarly for the second column.
+	(aes_encrypt): Similarly for the third and fourth column.
 
 	* x86/machine.m4 (AES_LAST_ROUND): New macro.
 
diff --git a/x86/aes-encrypt.asm b/x86/aes-encrypt.asm
index e5dbf6b7f3bc78d49f16efddc305593b93904886..fddf0a167dd98570233416ad8f419c23181f7aff 100644
--- a/x86/aes-encrypt.asm
+++ b/x86/aes-encrypt.asm
@@ -190,35 +190,14 @@ C .Laes_got_t:
 	AES_LAST_ROUND(d,a,b,c)
 	pushl	%edi
 
-	C c d a b
-	C // third column
-	movl	%eax,%edi
-	andl	$0x00ff0000,%edi
-	movl	%ebx,%ebp
-	andl	$0xff000000,%ebp
-	orl	%ebp,%edi
-	movl	%ecx,%ebp
-	andl	$0x000000ff,%ebp
-	orl	%ebp,%edi
-	movl	%edx,%ebp
-	andl	$0x0000ff00,%ebp
-	orl	%ebp,%edi
+	C third column
+	AES_LAST_ROUND(c,d,a,b)
 	pushl	%edi
 
-	C // fourth column
-	C b c d a
-	movl	%eax,%edi
-	andl	$0xff000000,%edi
-	movl	%ebx,%ebp
-	andl	$0x000000ff,%ebp
-	orl	%ebp,%edi
-	movl	%ecx,%ebp
-	andl	$0x0000ff00,%ebp
-	orl	%ebp,%edi
-	movl	%edx,%ebp
-	andl	$0x00ff0000,%ebp
-	orl	%ebp,%edi
+	C fourth column
+	AES_LAST_ROUND(b,c,d,a)
 	movl	%edi,%edx
+	
 	popl	%ecx
 	popl	%ebx
 	popl	%eax