diff --git a/apps/sam/java/src/net/i2p/sam/SAMv3DatagramServer.java b/apps/sam/java/src/net/i2p/sam/SAMv3DatagramServer.java
index 93fa6a92720aa30fd9dc67bae4bf9bc7eddd887b..b5d4aa058cf5fe2397352293f35a8407726d0c94 100644
--- a/apps/sam/java/src/net/i2p/sam/SAMv3DatagramServer.java
+++ b/apps/sam/java/src/net/i2p/sam/SAMv3DatagramServer.java
@@ -137,6 +137,7 @@ class SAMv3DatagramServer implements Handler {
 
 	private static class MessageDispatcher implements Runnable {
 		private final ByteArrayInputStream is;
+		private static final int MAX_LINE_LENGTH = 2*1024;
 	
 		public MessageDispatcher(byte[] buf) {
 			this.is = new ByteArrayInputStream(buf) ;
@@ -144,8 +145,21 @@ class SAMv3DatagramServer implements Handler {
 	
 		public void run() {
 			try {
-				String header = DataHelper.readLine(is).trim();
+				// not UTF-8
+				//String header = DataHelper.readLine(is).trim();
 				// we cannot use SAMUtils.parseParams() here
+				final UTF8Reader reader = new UTF8Reader(is);
+				final StringBuilder buf = new StringBuilder(MAX_LINE_LENGTH);
+				int c;
+				int i = 0;
+				while ((c = reader.read()) != -1) {
+					if (++i > MAX_LINE_LENGTH)
+						throw new IOException("Line too long - max " + MAX_LINE_LENGTH);
+					if (c == '\n')
+						break;
+					buf.append((char)c);
+				}
+				String header = buf.toString();
 				StringTokenizer tok = new StringTokenizer(header, " ");
 				if (tok.countTokens() < 3) {
 					// This is not a correct message, for sure
diff --git a/apps/sam/java/src/net/i2p/sam/client/SAMStreamSend.java b/apps/sam/java/src/net/i2p/sam/client/SAMStreamSend.java
index 21494c108a0a693671dab6d8318dd5f70f95fed2..30f0af0864e54bc5d2cdc9038c9d285134a039d3 100644
--- a/apps/sam/java/src/net/i2p/sam/client/SAMStreamSend.java
+++ b/apps/sam/java/src/net/i2p/sam/client/SAMStreamSend.java
@@ -513,6 +513,7 @@ public class SAMStreamSend {
                                     baos.write(DataHelper.getUTF8(" PROTOCOL=123 TO_PORT=5678"));
                                 else
                                     baos.write(DataHelper.getUTF8(" TO_PORT=5678"));
+                                baos.write(DataHelper.getUTF8(" SEND_TAGS=19 TAG_THRESHOLD=13 EXPIRES=33 SEND_LEASESET=true"));
                             }
                             baos.write((byte) '\n');
                             baos.write(data, 0, read);