diff --git a/sha256.c b/sha256.c
index 6b8cfbc9024891512899a8061c6ddf01904983d8..8355140b70d353a2c7d04fc07ba3160432a610f5 100644
--- a/sha256.c
+++ b/sha256.c
@@ -117,14 +117,12 @@ K[64] =
    iteration. This code is then replicated 8, using the next 8 values
    from the W[] array each time */
 
-/* FIXME: We can probably reorder this to optimize away at least one
- * of T1 and T2. It's crucial that DATA is only used once, as that
- * argument will have side effects. */
+/* 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 {		\
-  uint32_t T1 = h + S1(e) + Choice(e,f,g) + k + data;	\
-  uint32_t T2 = S0(a) + Majority(a,b,c);		\
-  d += T1;						\
-  h = T1 + T2;						\
+  uint32_t T = h + S1(e) + Choice(e,f,g) + k + data;	\
+  d += T;						\
+  h = T + S0(a) + Majority(a,b,c);			\
 } while (0)
 
 /* Initialize the SHA values */