diff --git a/router/java/src/net/i2p/router/client/ClientConnectionRunner.java b/router/java/src/net/i2p/router/client/ClientConnectionRunner.java
index b50d0d1953adf5b22c9e8e1a4dee250b543a63c3..cb5f7d1c9cb3ac39116e179f8f458947b5bec9de 100644
--- a/router/java/src/net/i2p/router/client/ClientConnectionRunner.java
+++ b/router/java/src/net/i2p/router/client/ClientConnectionRunner.java
@@ -375,7 +375,9 @@ class ClientConnectionRunner {
     void receiveMessage(Destination toDest, Destination fromDest, Payload payload) {
         if (_dead) return;
         MessageReceivedJob j = new MessageReceivedJob(_context, this, toDest, fromDest, payload);
-        _context.jobQueue().addJob(j);//j.runJob();
+        // This is fast and non-blocking, run in-line
+        //_context.jobQueue().addJob(j);
+        j.runJob();
     }
     
     /**
diff --git a/router/java/src/net/i2p/router/client/MessageReceivedJob.java b/router/java/src/net/i2p/router/client/MessageReceivedJob.java
index 92d4cb5355042d16110d246c84fab2403a7fde85..b8def25a97b33406d80aebffc409ab5432e77894 100644
--- a/router/java/src/net/i2p/router/client/MessageReceivedJob.java
+++ b/router/java/src/net/i2p/router/client/MessageReceivedJob.java
@@ -25,6 +25,7 @@ class MessageReceivedJob extends JobImpl {
     private final Log _log;
     private final ClientConnectionRunner _runner;
     private final Payload _payload;
+
     public MessageReceivedJob(RouterContext ctx, ClientConnectionRunner runner, Destination toDest, Destination fromDest, Payload payload) {
         super(ctx);
         _log = ctx.logManager().getLog(MessageReceivedJob.class);
@@ -33,6 +34,7 @@ class MessageReceivedJob extends JobImpl {
     }
     
     public String getName() { return "Deliver New Message"; }
+
     public void runJob() {
         if (_runner.isDead()) return;
         MessageId id = new MessageId();
@@ -44,7 +46,7 @@ class MessageReceivedJob extends JobImpl {
     /**
      * Deliver notification to the client that the given message is available.
      */
-    public void messageAvailable(MessageId id, long size) {
+    private void messageAvailable(MessageId id, long size) {
         if (_log.shouldLog(Log.DEBUG))
             _log.debug("Sending message available: " + id + " to sessionId " + _runner.getSessionId() 
                        + " (with nonce=1)", new Exception("available"));