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 2fbf10462e17ead696f1c168397d6fbce144a8f6..e8dcfd944f3f063c807d679073bba7bea3bd335c 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
@@ -662,10 +662,10 @@ public class I2PSnarkServlet extends HttpServlet {
                     client = "Azureus";
                 else if ("CwsL".equals(ch))
                     client = "I2PSnarkXL";
-                else if ("ZV".equals(ch.substring(2,4)))
-                    client = "Robert";
-                else if ("VUZP".equals(ch))
+                else if ("ZV".equals(ch.substring(2,4)) || "VUZP".equals(ch))
                     client = "Robert";
+                else if (ch.startsWith("LV")) // LVCS 1.0.2?; LVRS 1.0.4
+                    client = "Transmission";
                 else
                     client = _("Unknown") + " (" + ch + ')';
                 out.write(client + "  " + peer.toString().substring(5, 9));
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java
index 62d60358d9e5ec6761108cb9bab6fc885e87e104..512471a101ebf4b0fa9b4cb4bc57b1febb0097d5 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java
@@ -124,6 +124,7 @@ public class ConfigUpdateHandler extends FormHandler {
         }
 
         if ( (_trustedKeys != null) && (_trustedKeys.length() > 0) ) {
+            _trustedKeys = _trustedKeys.replaceAll("\r\n", ",").replaceAll("\n", ",");
             String oldKeys = new TrustedUpdate(_context).getTrustedKeysString();
             if ( (oldKeys == null) || (!_trustedKeys.equals(oldKeys)) ) {
                 _context.router().setConfigSetting(PROP_TRUSTED_KEYS, _trustedKeys);
diff --git a/installer/resources/initialNews.xml b/installer/resources/initialNews.xml
index 8e33ec57dd7bf0442040ba02b564db6fee5d7059..18906b2ff7f6fff698afdbd6b06bebbaa9fa9fd3 100644
--- a/installer/resources/initialNews.xml
+++ b/installer/resources/initialNews.xml
@@ -1,5 +1,7 @@
+<!--
 <i2p.news date="$Date: 2010-01-22 00:00:00 $">
 <i2p.release version="0.7.10" date="2010/01/22" minVersion="0.6"/>
+-->
 <h4><ul><li>Congratulations on getting I2P installed!</li></ul></h4>
 <p>
 <b>Welcome to I2P!</b>
@@ -47,5 +49,4 @@ Verbinde deinen IRC Klienten mit dem Server auf <b>localhost:6668</b> und sage H
 <p>
 <b>Не забудьте заглянуть</b> в наш <a href="http://www.i2p2.i2p/faq_ru.html">FAQ</a>.
 </p>
-</i2p.news>
 
diff --git a/installer/resources/news.xml b/installer/resources/news.xml
index cd8e9ecb88cf527850c117607a250aa1dcba7a89..3c84cacf7f8bed72bcc64853f808831fd14a6413 100644
--- a/installer/resources/news.xml
+++ b/installer/resources/news.xml
@@ -1,5 +1,7 @@
+<!--
 <i2p.news date="$Date: 2010-01-22 00:00:00 $">
 <i2p.release version="0.7.10" date="2010/01/22" minVersion="0.6" />
+-->
 <h4><ul><li>2010-01-22: <b>0.7.10 <a href="http://www.i2p2.i2p/release-0.7.10.html">Released</a></b></li></ul></h4>
 <p>
 0.7.10 closes some recently-discovered vulnerabilities related to the
@@ -17,4 +19,3 @@ or <a href="http://www.i2p2.i2p/donate.html">donate</a>!
 We are still looking for help on new and existing translations.
 Please volunteer on <a href="irc://127.0.0.1:6668/i2p">IRC #i2p</a>.
 </p>
-</i2p.news>
diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java
index 41ad29e23cdd2e3a44ef1b6d21b4c53251c64829..afee2bac07159884052cb003497a18045aac1b94 100644
--- a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java
+++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java
@@ -421,7 +421,18 @@ public class NTCPTransport extends TransportImpl {
     private static final int NUM_CONCURRENT_READERS = 3;
     private static final int NUM_CONCURRENT_WRITERS = 3;
 
+    /**
+     *  Called by TransportManager.
+     *  Caller should stop the transport first, then
+     *  verify stopped with isAlive()
+     *  Unfortunately TransportManager doesn't do that, so we
+     *  check here to prevent two pumpers.
+     *  @return appears to be ignored by caller
+     */
     public synchronized RouterAddress startListening() {
+        // try once again to prevent two pumpers which is fatal
+        if (_pumper.isAlive())
+            return _myAddress != null ? _myAddress.toRouterAddress() : null;
         if (_log.shouldLog(Log.WARN)) _log.warn("Starting ntcp transport listening");
         _finisher.start();
         _pumper.startPumping();
@@ -433,7 +444,17 @@ public class NTCPTransport extends TransportImpl {
         return bindAddress();
     }
 
+    /**
+     *  Only called by CSFI.
+     *  Caller should stop the transport first, then
+     *  verify stopped with isAlive()
+     *  @return appears to be ignored by caller
+     */
     public synchronized RouterAddress restartListening(RouterAddress addr) {
+        // try once again to prevent two pumpers which is fatal
+        // we could just return null since the return value is ignored
+        if (_pumper.isAlive())
+            return _myAddress != null ? _myAddress.toRouterAddress() : null;
         if (_log.shouldLog(Log.WARN)) _log.warn("Restarting ntcp transport listening");
         _finisher.start();
         _pumper.startPumping();
@@ -452,6 +473,7 @@ public class NTCPTransport extends TransportImpl {
         return _pumper.isAlive();
     }
 
+    /** call from synchronized method */
     private RouterAddress bindAddress() {
         if (_myAddress != null) {
             try {