diff --git a/core/java/src/net/i2p/crypto/CryptixAESEngine.java b/core/java/src/net/i2p/crypto/CryptixAESEngine.java
index e0ee10871525836964325438143c41d5ae8395bc..2a51fa1e5b5f355c6d916bd838f9221f12ebd087 100644
--- a/core/java/src/net/i2p/crypto/CryptixAESEngine.java
+++ b/core/java/src/net/i2p/crypto/CryptixAESEngine.java
@@ -127,13 +127,12 @@ public final class CryptixAESEngine extends AESEngine {
             }
         }
 
-        int numblock = length / 16;
-        
         DataHelper.xor(iv, ivOffset, payload, payloadIndex, out, outIndex, 16);
         encryptBlock(out, outIndex, sessionKey, out, outIndex);
-        for (int x = 1; x < numblock; x++) {
-            DataHelper.xor(out, outIndex + (x-1) * 16, payload, payloadIndex + x * 16, out, outIndex + x * 16, 16);
-            encryptBlock(out, outIndex + x * 16, sessionKey, out, outIndex + x * 16);
+        for (int x = 16; x < length; x += 16) {
+            int off = outIndex + x;
+            DataHelper.xor(out, off - 16, payload, payloadIndex + x, out, off, 16);
+            encryptBlock(out, off, sessionKey, out, off);
         }
     }