diff --git a/core/java/src/net/i2p/client/BWLimitsMessageHandler.java b/core/java/src/net/i2p/client/BWLimitsMessageHandler.java
index b47eaa6c8f3ceaa4359c5fb1c76ab4ff44989434..be00d3ffffe128f4b251f95779f5b299fe0b8a21 100644
--- a/core/java/src/net/i2p/client/BWLimitsMessageHandler.java
+++ b/core/java/src/net/i2p/client/BWLimitsMessageHandler.java
@@ -8,6 +8,7 @@ package net.i2p.client;
 import net.i2p.I2PAppContext;
 import net.i2p.data.i2cp.I2CPMessage;
 import net.i2p.data.i2cp.BandwidthLimitsMessage;
+import net.i2p.util.Log;
 
 /**
  * Handle I2CP BW replies from the router
@@ -18,7 +19,8 @@ class BWLimitsMessageHandler extends HandlerImpl {
     }
     
     public void handleMessage(I2CPMessage message, I2PSessionImpl session) {
-        _log.debug("Handle message " + message);
+        if (_log.shouldLog(Log.DEBUG))
+            _log.debug("Handle message " + message);
         BandwidthLimitsMessage msg = (BandwidthLimitsMessage) message;
        ((I2PSimpleSession)session).bwReceived(msg.getLimits());
     }
diff --git a/core/java/src/net/i2p/client/DestReplyMessageHandler.java b/core/java/src/net/i2p/client/DestReplyMessageHandler.java
index 25699ad02412c2d06550d02cf78623c2e8ff8389..573389cfb2679475fd0f4cce1dccf674afb07323 100644
--- a/core/java/src/net/i2p/client/DestReplyMessageHandler.java
+++ b/core/java/src/net/i2p/client/DestReplyMessageHandler.java
@@ -8,6 +8,7 @@ package net.i2p.client;
 import net.i2p.I2PAppContext;
 import net.i2p.data.i2cp.I2CPMessage;
 import net.i2p.data.i2cp.DestReplyMessage;
+import net.i2p.util.Log;
 
 /**
  * Handle I2CP dest replies from the router
@@ -18,7 +19,8 @@ class DestReplyMessageHandler extends HandlerImpl {
     }
     
     public void handleMessage(I2CPMessage message, I2PSessionImpl session) {
-        _log.debug("Handle message " + message);
+        if (_log.shouldLog(Log.DEBUG))
+            _log.debug("Handle message " + message);
         DestReplyMessage msg = (DestReplyMessage) message;
        ((I2PSimpleSession)session).destReceived(msg.getDestination());
     }
diff --git a/core/java/src/net/i2p/client/I2CPMessageProducer.java b/core/java/src/net/i2p/client/I2CPMessageProducer.java
index 220c0a851e0a59c4cd4887dbb8f9b1782962937e..0fa35d8cff10dc2904e2afe81fbc094d98be2d33 100644
--- a/core/java/src/net/i2p/client/I2CPMessageProducer.java
+++ b/core/java/src/net/i2p/client/I2CPMessageProducer.java
@@ -42,14 +42,13 @@ import net.i2p.util.Log;
  */
 class I2CPMessageProducer {
     private final static Log _log = new Log(I2CPMessageProducer.class);
-    private I2PAppContext _context;
+    private final I2PAppContext _context;
     private int _sendBps;
     private long _sendPeriodBytes;
     private long _sendPeriodBeginTime;
 
     public I2CPMessageProducer(I2PAppContext context) {
         _context = context;
-        _sendBps = 0;
         context.statManager().createRateStat("client.sendBpsRaw", "How fast we pump out I2CP data messages", "ClientMessages", new long[] { 60*1000, 5*60*1000, 10*60*1000, 60*60*1000 });
     }
     
diff --git a/core/java/src/net/i2p/client/I2PSessionException.java b/core/java/src/net/i2p/client/I2PSessionException.java
index 573d97e8d2ffb47c0593456224b39121a10fd476..d707f21d7540f8dd5c9f1f5b11cf3bd6134d7e03 100644
--- a/core/java/src/net/i2p/client/I2PSessionException.java
+++ b/core/java/src/net/i2p/client/I2PSessionException.java
@@ -10,7 +10,6 @@ package net.i2p.client;
  */
 
 import net.i2p.I2PException;
-import net.i2p.util.Log;
 
 /**
  * Thrown when there is a problem doing something on the session
@@ -18,7 +17,6 @@ import net.i2p.util.Log;
  * @author jrandom
  */
 public class I2PSessionException extends I2PException {
-    private final static Log _log = new Log(I2PSessionException.class);
 
     public I2PSessionException(String msg, Throwable t) {
         super(msg, t);
@@ -27,4 +25,4 @@ public class I2PSessionException extends I2PException {
     public I2PSessionException(String msg) {
         super(msg);
     }
-}
\ No newline at end of file
+}
diff --git a/core/java/src/net/i2p/client/SetDateMessageHandler.java b/core/java/src/net/i2p/client/SetDateMessageHandler.java
index e828e975c610a8fe1a9bf7a18370cac8d0bd8e75..bddc36d669c2a1887b73437629375351634095e0 100644
--- a/core/java/src/net/i2p/client/SetDateMessageHandler.java
+++ b/core/java/src/net/i2p/client/SetDateMessageHandler.java
@@ -13,6 +13,7 @@ import net.i2p.I2PAppContext;
 import net.i2p.data.i2cp.I2CPMessage;
 import net.i2p.data.i2cp.SetDateMessage;
 import net.i2p.util.Clock;
+import net.i2p.util.Log;
 
 /**
  * Handle I2CP time messages from the router
@@ -25,7 +26,8 @@ class SetDateMessageHandler extends HandlerImpl {
     }
     
     public void handleMessage(I2CPMessage message, I2PSessionImpl session) {
-        _log.debug("Handle message " + message);
+        if (_log.shouldLog(Log.DEBUG))
+            _log.debug("Handle message " + message);
         SetDateMessage msg = (SetDateMessage) message;
         // Only do this if we are NOT in the router context;
         // otherwise, it sets getUpdatedSuccessfully() in Clock when all