diff --git a/src/test/java/org/apache/commons/io/input/MessageDigestCalculatingInputStreamTest.java b/src/test/java/org/apache/commons/io/input/MessageDigestCalculatingInputStreamTest.java
index 9123c41..9a98186 100644
--- a/src/test/java/org/apache/commons/io/input/MessageDigestCalculatingInputStreamTest.java
+++ b/src/test/java/org/apache/commons/io/input/MessageDigestCalculatingInputStreamTest.java
@@ -34,7 +34,7 @@
 
     @Test
     public void testNormalUse() throws Exception {
-        for (int i = 256; i < 8192; i = i * 2) {
+        for (int i = 256; i < 8192; i *= 2) {
             final byte[] buffer = MessageDigestInputStreamTest.generateRandomByteStream(i);
             final MessageDigest defaultMessageDigest = MessageDigestCalculatingInputStream.getDefaultMessageDigest();
             final byte[] defaultExpect = defaultMessageDigest.digest(buffer);
diff --git a/src/test/java/org/apache/commons/io/input/MessageDigestInputStreamTest.java b/src/test/java/org/apache/commons/io/input/MessageDigestInputStreamTest.java
index d41da0b..f516a9b 100644
--- a/src/test/java/org/apache/commons/io/input/MessageDigestInputStreamTest.java
+++ b/src/test/java/org/apache/commons/io/input/MessageDigestInputStreamTest.java
@@ -46,7 +46,7 @@
 
     @Test
     public void testNormalUse() throws Exception {
-        for (int i = 256; i < 8192; i = i * 2) {
+        for (int i = 256; i < 8192; i *= 2) {
             final byte[] buffer = generateRandomByteStream(i);
             final byte[] expect = DigestUtils.sha512(buffer);
             try (MessageDigestInputStream messageDigestInputStream = MessageDigestInputStream.builder().setMessageDigest(MessageDigestAlgorithms.SHA_512)
