diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java
index eccdc480e854f1cf1380f22e5bc88088963ea40f..36578514380c13f6ec50c9dde9ea81ed0b01d89d 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java
@@ -287,6 +287,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
         _context.statManager().createRateStat("i2ptunnel.httpExpanded", "size transferred after expansion", "I2PTunnel", new long[] { 60*60*1000 });
         super.startRunning();
         this.isr = new InternalSocketRunner(this);
+        this.isr.start();
         _context.portMapper().register(PortMapper.SVC_HTTP_PROXY, getLocalPort());
     }
 
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/InternalSocketRunner.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/InternalSocketRunner.java
index a3f2f1717be0e27a4cfca72dabfe2ccfe011aa22..76a8cea7c71c783989669204986a09f55d9cb398 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/InternalSocketRunner.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/InternalSocketRunner.java
@@ -14,20 +14,23 @@ import net.i2p.util.Log;
  * @author zzz
  * @since 0.7.9
  */
-class InternalSocketRunner implements Runnable {
+class InternalSocketRunner extends I2PAppThread {
     private final I2PTunnelClientBase client;
     private final int port;
     private ServerSocket ss;
     private volatile boolean open;
 
-    /** starts the runner */
+    /**
+     * Does not start the runner, caller must call start()
+     */
     InternalSocketRunner(I2PTunnelClientBase client) {
+        super("Internal socket port " + client.getLocalPort());
+        setDaemon(true);
         this.client = client;
         this.port = client.getLocalPort();
-        Thread t = new I2PAppThread(this, "Internal socket port " + this.port, true);
-        t.start();
     }
     
+    @Override
     public final void run() {
         try {
             this.ss = new InternalServerSocket(this.port);