diff --git a/core/java/src/net/i2p/util/FileUtil.java b/core/java/src/net/i2p/util/FileUtil.java
index 2946cd09eea63e3be045d5456523b06a67a90454..38073fd6054a5a20de2ded809ff8cefa27ab9b4d 100644
--- a/core/java/src/net/i2p/util/FileUtil.java
+++ b/core/java/src/net/i2p/util/FileUtil.java
@@ -76,9 +76,10 @@ public class FileUtil {
     }
     
     public static boolean extractZip(File zipfile, File targetDir) {
+        ZipFile zip = null;
         try {
             byte buf[] = new byte[16*1024];
-            ZipFile zip = new ZipFile(zipfile);
+            zip = new ZipFile(zipfile);
             Enumeration entries = zip.entries();
             while (entries.hasMoreElements()) {
                 ZipEntry entry = (ZipEntry)entries.nextElement();
@@ -124,13 +125,16 @@ public class FileUtil {
                     }
                 }
             }
-            zip.close();
             return true;
         } catch (IOException ioe) {
             System.err.println("ERROR: Unable to extract the zip file");
             ioe.printStackTrace();
             return false;
-        } 
+        } finally {
+            if (zip != null) {
+                try { zip.close(); } catch (IOException ioe) {}
+            }
+        }
     }
     
     /**
diff --git a/core/java/src/net/i2p/crypto/SHA1Test.java b/core/java/test/net/i2p/crypto/SHA1Test.java
similarity index 100%
rename from core/java/src/net/i2p/crypto/SHA1Test.java
rename to core/java/test/net/i2p/crypto/SHA1Test.java
diff --git a/core/java/src/net/i2p/stat/SizeTest.java b/core/java/test/net/i2p/stat/SizeTest.java
similarity index 100%
rename from core/java/src/net/i2p/stat/SizeTest.java
rename to core/java/test/net/i2p/stat/SizeTest.java