diff --git a/apps/BOB/src/net/i2p/BOB/BOB.java b/apps/BOB/src/net/i2p/BOB/BOB.java
index ab29f64445a8b936539caeebc2fa290f0e1ad02f..b9b48dcfa76d5623880b31c1f32adc184016130b 100644
--- a/apps/BOB/src/net/i2p/BOB/BOB.java
+++ b/apps/BOB/src/net/i2p/BOB/BOB.java
@@ -138,6 +138,7 @@ public class BOB {
 		}
 
 		try {
+			warn("BOB is now running.");
 			ServerSocket listener = new ServerSocket(Integer.parseInt(props.getProperty(PROP_BOB_PORT)), 10, InetAddress.getByName(props.getProperty(PROP_BOB_HOST)));
 			Socket server;
 
diff --git a/apps/BOB/src/net/i2p/BOB/I2PtoTCP.java b/apps/BOB/src/net/i2p/BOB/I2PtoTCP.java
index b62e5b782f6db7679639468739b87e8bd6af9de9..b862db10aa3a5309b642f193fdde92050325919b 100644
--- a/apps/BOB/src/net/i2p/BOB/I2PtoTCP.java
+++ b/apps/BOB/src/net/i2p/BOB/I2PtoTCP.java
@@ -23,11 +23,9 @@
  */
 package net.i2p.BOB;
 
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.Socket;
-import java.net.UnknownHostException;
 import net.i2p.client.streaming.I2PSocket;
 
 /**
diff --git a/apps/BOB/src/net/i2p/BOB/TCPio.java b/apps/BOB/src/net/i2p/BOB/TCPio.java
index 460f8aa58d95495a8cb601dcab56e51627e95188..3b32aae1b0ba89e59f5df66c1cab99808acb8f60 100644
--- a/apps/BOB/src/net/i2p/BOB/TCPio.java
+++ b/apps/BOB/src/net/i2p/BOB/TCPio.java
@@ -80,7 +80,7 @@ public class TCPio implements Runnable {
 					/* according to the specs:
 					 * 
 					 * The total number of bytes read into the buffer, 
-					 * or -1 is there is no more data because the end of 
+					 * or -1 if there is no more data because the end of 
 					 * the stream has been reached.
 					 * 
 					 */
diff --git a/apps/BOB/src/net/i2p/BOB/TCPtoI2P.java b/apps/BOB/src/net/i2p/BOB/TCPtoI2P.java
index 51d279ee4bed634e93fd062ef544425fa06967d5..ee21f462eb9a85a95197071f3f1a6b5a43a99a7f 100644
--- a/apps/BOB/src/net/i2p/BOB/TCPtoI2P.java
+++ b/apps/BOB/src/net/i2p/BOB/TCPtoI2P.java
@@ -100,12 +100,10 @@ public class TCPtoI2P implements Runnable {
 	 * @throws java.io.IOException
 	 */
 	private void Emsg(String e, OutputStream out) throws IOException {
-		System.out.println("ERROR TCPtoI2P: " + e);
+// Debugging		System.out.println("ERROR TCPtoI2P: " + e);
 		out.write("ERROR".concat(e).getBytes());
 		out.write(13); // cr
 		out.flush();
-		sock.close();
-
 	}
 
 	/**
@@ -152,7 +150,8 @@ public class TCPtoI2P implements Runnable {
 							// nop
 						}
 					}
-				} catch(I2PException e) {
+
+				} catch(I2PException e) {					
 					Emsg("ERROR " + e.toString(), out);
 				} catch(ConnectException e) {
 					Emsg("ERROR " + e.toString(), out);
diff --git a/installer/resources/clients.config b/installer/resources/clients.config
index e756acc50b6b8c784c7fa672850663aeecc7c298..4b8a4c3692421d7d8aeb0b4aaebaae879dc85dd6 100644
--- a/installer/resources/clients.config
+++ b/installer/resources/clients.config
@@ -25,3 +25,9 @@ clientApp.4.main=net.i2p.apps.systray.UrlLauncher
 clientApp.4.name=consoleBrowser
 clientApp.4.args=http://localhost:7657/
 clientApp.4.delay=5
+
+# Start up BOB
+clientApp.5.args=
+clientApp.5.delay=10
+clientApp.5.main=net.i2p.BOB.BOB
+clientApp.5.name=BOB
diff --git a/installer/resources/wrapper.config b/installer/resources/wrapper.config
index f931efaf0b10de3f2683849090e39c9108bf4737..86fdce2eb00593938702ceaef4c6295557cd1fd8 100644
--- a/installer/resources/wrapper.config
+++ b/installer/resources/wrapper.config
@@ -48,6 +48,8 @@ wrapper.java.classpath.17=lib/wrapper.jar
 # systray, LGPL
 wrapper.java.classpath.18=lib/systray.jar
 wrapper.java.classpath.19=lib/systray4j.jar
+# BOB
+wrapper.java.classpath.20=lib/BOB.jar 
 
 # Java Library Path (location of Wrapper.DLL or libwrapper.so)
 wrapper.java.library.path.1=.