diff --git a/core/java/src/net/i2p/client/naming/SingleFileNamingService.java b/core/java/src/net/i2p/client/naming/SingleFileNamingService.java
index acde6e6ed29f07deff394fb71fbfd3ec25683102..1cc058eccc78dd6cce6facafa251c5a063447b62 100644
--- a/core/java/src/net/i2p/client/naming/SingleFileNamingService.java
+++ b/core/java/src/net/i2p/client/naming/SingleFileNamingService.java
@@ -261,7 +261,10 @@ public class SingleFileNamingService extends NamingService {
             if (out != null) try { out.close(); } catch (IOException e) {}
             _log.error("Error adding " + hostname, ioe);
             return false;
-        } finally { releaseWriteLock(); }
+        } finally {
+            if (out != null) try { out.close(); } catch (IOException e) {}
+            releaseWriteLock();
+        }
     }
 
     /** 
diff --git a/core/java/src/net/i2p/util/TranslateReader.java b/core/java/src/net/i2p/util/TranslateReader.java
index 02eb0a0d68531b8fbe0f728ff4b03ab11833892f..b1b4db18e2371b0a31da014b2cc902b9c5931dce 100644
--- a/core/java/src/net/i2p/util/TranslateReader.java
+++ b/core/java/src/net/i2p/util/TranslateReader.java
@@ -394,12 +394,11 @@ public class TranslateReader extends FilterReader {
     }
 
     private static void test(String file) throws IOException {
-        FileInputStream fio = new FileInputStream(file);
         TranslateReader r = null;
         try {
             r = new TranslateReader(I2PAppContext.getGlobalContext(),
                                     "net.i2p.router.web.messages",
-                                    fio);
+                                    new FileInputStream(file));
             int c;
             while ((c = r.read()) >= 0) {
                 System.out.print((char)c);
diff --git a/router/java/src/net/i2p/router/MultiRouter.java b/router/java/src/net/i2p/router/MultiRouter.java
index 297d7ff2352c3e4f1160f105d36b6411148325ad..5ccec8d88773fe48ba1dc812999bb5d2ef73db19 100644
--- a/router/java/src/net/i2p/router/MultiRouter.java
+++ b/router/java/src/net/i2p/router/MultiRouter.java
@@ -64,19 +64,21 @@ public class MultiRouter {
             usage();
             return;
         }
-        Scanner scan = new Scanner(args[0]);
-        if (!scan.hasNextInt()) {
-            usage();
-            scan.close();
-            return;
-        }
-        nbrRouters = scan.nextInt();
-        if (nbrRouters < 0) {
-            usage();
-            scan.close();
-            return;
+        Scanner scan = null;
+        try {
+            scan = new Scanner(args[0]);
+            if (!scan.hasNextInt()) {
+                usage();
+                return;
+            }
+            nbrRouters = scan.nextInt();
+            if (nbrRouters < 0) {
+                usage();
+                return;
+            }
+        } finally {
+            if (scan != null) scan.close();
         }
-        scan.close();
         
         _out = System.out;