Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmFileCacheTileLoader.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmFileCacheTileLoader.java	(revision 29518)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmFileCacheTileLoader.java	(revision 29528)
@@ -304,18 +304,23 @@
         protected byte[] loadTileInBuffer(URLConnection urlConn) throws IOException {
             input = urlConn.getInputStream();
-            ByteArrayOutputStream bout = new ByteArrayOutputStream(input.available());
-            byte[] buffer = new byte[2048];
-            boolean finished = false;
-            do {
-                int read = input.read(buffer);
-                if (read >= 0) {
-                    bout.write(buffer, 0, read);
-                } else {
-                    finished = true;
-                }
-            } while (!finished);
-            if (bout.size() == 0)
-                return null;
-            return bout.toByteArray();
+            try {
+                ByteArrayOutputStream bout = new ByteArrayOutputStream(input.available());
+                byte[] buffer = new byte[2048];
+                boolean finished = false;
+                do {
+                    int read = input.read(buffer);
+                    if (read >= 0) {
+                        bout.write(buffer, 0, read);
+                    } else {
+                        finished = true;
+                    }
+                } while (!finished);
+                if (bout.size() == 0)
+                    return null;
+                return bout.toByteArray();
+            } finally {
+                input.close();
+                input = null;
+            }
         }
 
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmTileLoader.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmTileLoader.java	(revision 29518)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmTileLoader.java	(revision 29528)
@@ -58,7 +58,10 @@
                     } else {
                         input = conn.getInputStream();
-                        tile.loadImage(input);
-                        input.close();
-                        input = null;
+                        try {
+                            tile.loadImage(input);
+                        } finally { 
+                            input.close();
+                            input = null;
+                        }
                     }
                     tile.setLoaded(true);
