diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/AccessFilter.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/AccessFilter.java
index 94c9933e5805845a2bac479ca7bb5ec926477323..f44e81713bc4d2c6b068da1366a1990db6ec0cd4 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/AccessFilter.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/AccessFilter.java
@@ -92,8 +92,9 @@ class AccessFilter implements IncomingConnectionFilter {
 
             // if the file already exists, add previously breached b32s
             if (file.exists() && file.isFile()) {
-                BufferedReader reader = new BufferedReader(new FileReader(file));
+                BufferedReader reader = null; 
                 try {
+                    reader = new BufferedReader(new FileReader(file)); 
                     String b32;
                     while((b32 = reader.readLine()) != null)
                         breached.add(b32);
@@ -102,8 +103,9 @@ class AccessFilter implements IncomingConnectionFilter {
                 }
             }
 
-            BufferedWriter writer = new BufferedWriter(new FileWriter(file));
+            BufferedWriter writer = null; 
             try {
+                writer = new BufferedWriter(new FileWriter(file)); 
                 for (String b32 : breached) {
                     writer.write(b32);
                     writer.newLine();
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/FileFilterDefinitionElement.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/FileFilterDefinitionElement.java
index f9bf4ff4a7c3fd56182000f56d45773e65e22d34..b515badc11fbc80873f80acff006b6890a015fb0 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/FileFilterDefinitionElement.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/FileFilterDefinitionElement.java
@@ -20,8 +20,9 @@ class FileFilterDefinitionElement extends FilterDefinitionElement {
     public void update(Map<String, DestTracker> map) throws IOException {
         if (!(file.exists() && file.isFile()))
             return;
-        BufferedReader reader = new BufferedReader(new FileReader(file));
+        BufferedReader reader = null; 
         try {
+            reader = new BufferedReader(new FileReader(file)); 
             String b32;
             while((b32 = reader.readLine()) != null) {
                 if (map.containsKey(b32))
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/FilterFactory.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/FilterFactory.java
index fa9558507e689fd0337ae3e67a5cedf2bfd494dd..0571e96d05e1deef7db8382511b0f25bb95c8278 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/FilterFactory.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/FilterFactory.java
@@ -16,8 +16,9 @@ public class FilterFactory {
         throws IOException, InvalidDefinitionException {
         List<String> linesList = new ArrayList<String>();
 
-        BufferedReader reader = new BufferedReader(new FileReader(definition));
+        BufferedReader reader = null; 
         try {
+            reader = new BufferedReader(new FileReader(definition));
             String line;
             while((line = reader.readLine()) != null) {
                 line = line.trim();