diff --git a/src/sbbs3/js_system.c b/src/sbbs3/js_system.c
index 6dea02881157acfb982f25dd10b6cf18f6bf566d..4d5b17b5c9476ab3795202f419e8ef6d6d632e86 100644
--- a/src/sbbs3/js_system.c
+++ b/src/sbbs3/js_system.c
@@ -1701,9 +1701,12 @@ js_new_user(JSContext *cx, uintN argc, jsval *arglist)
 		}
 	}
 	if(client!=NULL) {
-		SAFECOPY(user.modem,client->protocol);
-		SAFECOPY(user.comp,client->host);
-		SAFECOPY(user.ipaddr,client->addr);
+		if(client->protocol != NULL)
+			SAFECOPY(user.modem,client->protocol);
+		if(client->host != NULL)
+			SAFECOPY(user.comp,client->host);
+		if(client->addr != NULL)
+			SAFECOPY(user.ipaddr,client->addr);
 	}
 
 	user.sex=' ';