diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c
index 024e8dd7cc554948dde8de64807cae458f50482c..0f8032b43a243b0dc518f65b365456e9dc054d11 100644
--- a/src/sbbs3/js_global.c
+++ b/src/sbbs3/js_global.c
@@ -776,8 +776,11 @@ js_word_wrap(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
 			prefix_len=strlen(prefix);
 			prefix_bytes=strlen(prefix);
 		}
-		else
+		else {
 			memcpy(prefix,inbuf,prefix_bytes);
+			/* Terminate prefix */
+			prefix[prefix_bytes]=0;
+		}
 		strncpy(linebuf,prefix,prefix_bytes);
 		l=prefix_bytes;
 		ocol=prefix_len+1;
@@ -816,8 +819,11 @@ js_word_wrap(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
 						prefix_len=strlen(prefix);
 						prefix_bytes=strlen(prefix);
 					}
-					else
+					else {
 						memcpy(prefix,inbuf+i+1-prefix_bytes,prefix_bytes);
+						/* Terminate prefix */
+						prefix[prefix_bytes]=0;
+					}
 					linebuf[l++]='\r';
 					linebuf[l++]='\n';
 					outbuf_append(&outbuf, &outp, linebuf, l, &outbuf_size);