diff --git a/src/net/i2p/android/router/InitActivities.java b/src/net/i2p/android/router/InitActivities.java
index 60cb86795de1434770cd303526b91c1b2f4436f1..e00886c7f3d18b238d26c717e0335909dbd0c7db 100644
--- a/src/net/i2p/android/router/InitActivities.java
+++ b/src/net/i2p/android/router/InitActivities.java
@@ -163,14 +163,14 @@ class InitActivities {
         }
     }
     /**
-     *  @param f relative to base dir
+     *  @param folder relative to base dir
      */
-    private void unzipResourceToDir(int resID, String f) {
+    private void unzipResourceToDir(int resID, String folder) {
         InputStream in = null;
         FileOutputStream out = null;
         ZipInputStream zis = null;
 
-        Util.d("Creating files in '" + myDir + "/" + f + "/' from resource");
+        Util.d("Creating files in '" + myDir + "/" + folder + "/' from resource");
         try {
             // Context methods
             in = ctx.getResources().openRawResource(resID);
@@ -185,11 +185,17 @@ class InitActivities {
                     while ((count = zis.read(buffer)) != -1) {
                         baos.write(buffer, 0, count);
                     }
-                    String filename = ze.getName();
-                    Util.d("Creating file " + myDir + "/" + f +"/" + filename + " from resource");
-                    byte[] bytes = baos.toByteArray();
-                    out = new FileOutputStream(new File(myDir + "/" + f +"/" + filename));
-                    out.write(bytes);
+                    String name = ze.getName();
+                    File f = new File(myDir + "/" + folder +"/" + name);
+                    if (ze.isDirectory()) {
+                        Util.d("Creating directory " + myDir + "/" + folder +"/" + name + " from resource");
+                        f.mkdir();
+                    } else {
+                        Util.d("Creating file " + myDir + "/" + folder +"/" + name + " from resource");
+                        byte[] bytes = baos.toByteArray();
+                        out = new FileOutputStream(f);
+                        out.write(bytes);
+                    }
                 } catch (IOException ioe) {
                 } finally {
                     if (out != null) { try { out.close(); } catch (IOException ioe) {} out = null; }