diff --git a/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java b/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java
index 140d3cb468fc024d0f961b928ba3b07b44a3529d..ad2680045f19256d440de1db1860d482c925892c 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java
@@ -291,7 +291,7 @@ public class MetaInfo
     if (piece >= 0 && piece < pieces -1)
       return piece_length;
     else if (piece == pieces -1)
-      return (int)(length - piece * piece_length);
+      return (int)(length - ((long)piece * piece_length));
     else
       throw new IndexOutOfBoundsException("no piece: " + piece);
   }