diff --git a/src/sbbs3/js_msgbase.c b/src/sbbs3/js_msgbase.c
index 14f1f96e83ccf34e50f97fdd0f961f90b3425d7a..7f79cd87767463d4a725b243f1ad60b631412519 100644
--- a/src/sbbs3/js_msgbase.c
+++ b/src/sbbs3/js_msgbase.c
@@ -2043,6 +2043,11 @@ js_put_msg_header(JSContext *cx, uintN argc, jsval *arglist)
 		if((p->smb_result=smb_putmsg(&(p->smb), &msg))!=SMB_SUCCESS)
 			break;
 
+		if(mp != NULL) {
+			smb_freemsgmem(&mp->msg);
+			smb_copymsgmem(&(p->smb), &mp->msg, &msg);
+		}
+
 		JS_SET_RVAL(cx, arglist, JSVAL_TRUE);
 	} while(0);