1b57e1
diff --git a/lib/freebl/ppc-gcm.s b/lib/freebl/ppc-gcm.s
1b57e1
--- a/lib/freebl/ppc-gcm.s
1b57e1
+++ b/lib/freebl/ppc-gcm.s
1b57e1
@@ -692,7 +692,6 @@
1b57e1
 
1b57e1
     mtctr        9
1b57e1
 
1b57e1
-    li           10, 0
1b57e1
     li           25, 0x10
1b57e1
     li           26, 0x20
1b57e1
     li           27, 0x30
1b57e1
@@ -703,6 +702,7 @@
1b57e1
 
1b57e1
 .align 5
1b57e1
 .L8x_loop:
1b57e1
+    li           10, 0
1b57e1
     VEC_LOAD_INC K, KS, 10
1b57e1
 
1b57e1
     vadduwm      CTR1, CTR, I1
1b57e1
diff --git a/lib/freebl/ppc-gcm-wrap.c b/lib/freebl/ppc-gcm-wrap.c
1b57e1
--- a/lib/freebl/ppc-gcm-wrap.c
1b57e1
+++ b/lib/freebl/ppc-gcm-wrap.c
1b57e1
@@ -155,7 +155,7 @@
1b57e1
     /* Promote the counter by 1 */
1b57e1
     gcm->CTR[14] += !(++gcm->CTR[15]);
1b57e1
     gcm->CTR[13] += !(gcm->CTR[15]) && !(gcm->CTR[14]);
1b57e1
-    gcm->CTR[12] += !(gcm->CTR[15]) && !(gcm->CTR[13]) && !(gcm->CTR[12]);
1b57e1
+    gcm->CTR[12] += !(gcm->CTR[15]) && !(gcm->CTR[14]) && !(gcm->CTR[13]);
1b57e1
 
1b57e1
     /* Now hash AAD - it would actually make sense to seperate the context
1b57e1
      * creation from the AAD, because that would allow to reuse the H, which
1b57e1
1b57e1