diff --git a/apps/sam/java/src/net/i2p/sam/SAMMessageSession.java b/apps/sam/java/src/net/i2p/sam/SAMMessageSession.java
index 88f2d84b48538055172bc7b5473c4fbe8e0e576a..f52cb256456ef6ecde311ed0e2f743b39b2fab37 100644
--- a/apps/sam/java/src/net/i2p/sam/SAMMessageSession.java
+++ b/apps/sam/java/src/net/i2p/sam/SAMMessageSession.java
@@ -261,10 +261,14 @@ abstract class SAMMessageSession implements SAMMessageSess {
                 _log.debug("Instantiating new SAM message-based session handler");
 
             I2PClient client = I2PClientFactory.createClient();
-            if (!props.containsKey("inbound.nickname") && !props.containsKey("outbound.nickname")) {
-                props.setProperty("inbound.nickname", "SAM UDP Client");
-                props.setProperty("outbound.nickname", "SAM UDP Client");
+            String name = props.getProperty("inbound.nickname");
+            if (name == null || name.trim().isEmpty()) {
+                name = "SAM UDP Client";
+                props.setProperty("inbound.nickname", name);
             }
+            String name2 = props.getProperty("outbound.nickname");
+            if (name2 == null || name2.trim().isEmpty())
+                props.setProperty("outbound.nickname", name);
             _session = client.createSession(destStream, props);
 
             if (_log.shouldLog(Log.DEBUG))
diff --git a/apps/sam/java/src/net/i2p/sam/SAMStreamSession.java b/apps/sam/java/src/net/i2p/sam/SAMStreamSession.java
index cdaecebbf8bbc2254fe6adf272ffa6660129c526..10bd8fd6036758bbc355c56c2e6c078288823e8a 100644
--- a/apps/sam/java/src/net/i2p/sam/SAMStreamSession.java
+++ b/apps/sam/java/src/net/i2p/sam/SAMStreamSession.java
@@ -162,10 +162,14 @@ class SAMStreamSession implements SAMMessageSess {
         }
         if (!canReceive)
             allprops.setProperty("i2cp.dontPublishLeaseSet", "true");
-        if (!allprops.containsKey("inbound.nickname") && !allprops.containsKey("outbound.nickname")) {
-            allprops.setProperty("inbound.nickname", "SAM TCP Client");
-            allprops.setProperty("outbound.nickname", "SAM TCP Client");
+        String name = allprops.getProperty("inbound.nickname");
+        if (name == null || name.trim().isEmpty()) {
+            name = "SAM TCP Client";
+            allprops.setProperty("inbound.nickname", name);
         }
+        String name2 = allprops.getProperty("outbound.nickname");
+        if (name2 == null || name2.trim().isEmpty())
+            allprops.setProperty("outbound.nickname", name);
 
         _isOwnSession = true;
         if (_log.shouldLog(Log.DEBUG))