diff --git a/router/java/src/net/i2p/router/startup/MigrateJetty.java b/router/java/src/net/i2p/router/startup/MigrateJetty.java
index ab01c2855379a8b907b1e4165688638291f8c1e0..b78331284c1ca7839feb70ca31c11a7cf09aa0dc 100644
--- a/router/java/src/net/i2p/router/startup/MigrateJetty.java
+++ b/router/java/src/net/i2p/router/startup/MigrateJetty.java
@@ -41,6 +41,7 @@ abstract class MigrateJetty {
     private static final String NEW_CLASS = "org.mortbay.start.Main";
     private static final String BACKUP = "jetty5.xml";
     private static final String JETTY6_TEMPLATE_DIR = "eepsite-jetty6";
+    private static final String JETTY6_TEMPLATE_PKGDIR = "eepsite";
     private static final String BASE_CONTEXT = "contexts/base-context.xml";
     private static final String CGI_CONTEXT = "contexts/cgi-context.xml";
     
@@ -83,6 +84,15 @@ abstract class MigrateJetty {
                 continue;
             }
             File baseEep = new File(ctx.getBaseDir(), JETTY6_TEMPLATE_DIR);
+            // in packages, or perhaps on an uninstall/reinstall, the files are in eepsite/
+            if (!baseEep.exists())
+                baseEep = new File(ctx.getBaseDir(), JETTY6_TEMPLATE_PKGDIR);
+            if (baseEep.equals(eepsite)) {
+                // non-split directory yet not an upgrade? shouldn't happen
+                System.err.println("Eepsite in non-split directory " + eepsite +
+                               ", cannot migrate " + client);
+                continue;
+            }
             // jetty.xml existed before in jetty 5 version, so check this new file
             // and if it doesn't exist we can't continue
             File baseContext = new File(baseEep, BASE_CONTEXT);