diff --git a/ChangeLog b/ChangeLog
index 58b9203d1c2105bf841e289b7b4e5df27be374c8..00837d450e2642bb9888563e32b5c568d54950e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2013-03-13  Niels Möller  <nisse@lysator.liu.se>
 
+	* sha512-compress.c (ROUND): Eliminated a temporary, analogous to
+	sha256 change below.
+
 	* x86_64/sha256-compress.asm: New file, 16% speedup (benchmarked
 	on intel i5).
 
diff --git a/sha512-compress.c b/sha512-compress.c
index 9dd34f4c6bd1e4ec1aabfd2969054fc1e0094730..0e7d54959127e77ba47c2ac56ac723e63a5929fe 100644
--- a/sha512-compress.c
+++ b/sha512-compress.c
@@ -85,10 +85,10 @@
 
 /* It's crucial that DATA is only used once, as that argument will
  * have side effects. */
-#define ROUND(a,b,c,d,e,f,g,h,k,data) do {		\
-  uint64_t T = h + S1(e) + Choice(e,f,g) + k + data;	\
-  d += T;						\
-  h = T + S0(a) + Majority(a,b,c);			\
+#define ROUND(a,b,c,d,e,f,g,h,k,data) do {	\
+  h += S1(e) + Choice(e,f,g) + k + data;	\
+  d += h;					\
+  h += S0(a) + Majority(a,b,c);			\
 } while (0)
 
 void