diff --git a/router/java/src/net/i2p/router/tunnel/FragmentedMessage.java b/router/java/src/net/i2p/router/tunnel/FragmentedMessage.java
index 81866fbc97981b964c4470c08904a476ca4977b9..cce537f39007a79f09c9c34f3178e461c8ec498d 100644
--- a/router/java/src/net/i2p/router/tunnel/FragmentedMessage.java
+++ b/router/java/src/net/i2p/router/tunnel/FragmentedMessage.java
@@ -120,7 +120,7 @@ public class FragmentedMessage {
         _lastReceived = isLast;
         _toRouter = toRouter;
         _toTunnel = toTunnel;
-        if (isLast)
+        if (_highFragmentNum < 0)
             _highFragmentNum = 0;
     }
     
diff --git a/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java b/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java
index 227b8baa3f7b748fda594eaacd206c1727cfe71b..d7e2ac024aca4b4206fad6876f6a8f1e96146349 100644
--- a/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java
+++ b/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java
@@ -278,8 +278,8 @@ public class TunnelPool {
     }
 
     public void tunnelFailed(PooledTunnelCreatorConfig cfg) {
-        if (_log.shouldLog(Log.ERROR))
-            _log.error(toString() + ": Tunnel failed: " + cfg, new Exception("failure cause"));
+        if (_log.shouldLog(Log.WARN))
+            _log.warn(toString() + ": Tunnel failed: " + cfg, new Exception("failure cause"));
         int remaining = 0;
         LeaseSet ls = null;
         synchronized (_tunnels) {