diff --git a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java
index 3c1cad53561b81fec3fe01b803ea734b88a36c20..8edc92fdf37b367e3652566288c7ef2bacfdc588 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java
@@ -152,6 +152,9 @@ public class I2PSnarkUtil {
      */
     synchronized public boolean connect() {
         if (_manager == null) {
+            // try to find why reconnecting after stop
+            if (_log.shouldLog(Log.DEBUG))
+                _log.debug("Connecting to I2P", new Exception("I did it"));
             Properties opts = new Properties();
             if (_opts != null) {
                 for (Iterator iter = _opts.keySet().iterator(); iter.hasNext(); ) {
diff --git a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java
index 331bd770ba564366a863c4ffb14a79523548f6ed..e3cc8ae9f00ebd1c63b759497160d72ab258496b 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java
@@ -268,7 +268,7 @@ public class TrackerClient extends I2PAppThread
                         List ordered = new ArrayList(peers);
                         Collections.shuffle(ordered, r);
                         Iterator it = ordered.iterator();
-                        while (it.hasNext()) {
+                        while ((!stop) && it.hasNext()) {
                           Peer cur = (Peer)it.next();
                           // FIXME if id == us || dest == us continue;
                           // only delay if we actually make an attempt to add peer
diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
index 8a2f9a269b7d7a3d2ac701945a06f602fdec334a..e284cc1721f3fed80bb6d62afc81e984237c1cc4 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
@@ -530,6 +530,8 @@ public class I2PSnarkServlet extends Default {
                     _manager.stopTorrent(snark.torrent, false);
             }
             if (_manager.util().connected()) {
+                // Give the stopped announces time to get out
+                try { Thread.sleep(2000); } catch (InterruptedException ie) {}
                 _manager.util().disconnect();
                 _manager.addMessage(_("I2P tunnel closed."));
             }