diff --git a/src/sbbs3/writemsg.cpp b/src/sbbs3/writemsg.cpp
index 99f5f66082098bf4e45db1ab018ab1a2a5f2ef11..8e1701e9e9631e51a31c556d145cd32dcd4efb0d 100644
--- a/src/sbbs3/writemsg.cpp
+++ b/src/sbbs3/writemsg.cpp
@@ -1124,7 +1124,7 @@ void sbbs_t::editmsg(smbmsg_t *msg, uint subnum)
 	fclose(instream);
 
 	smb_unlocksmbhdr(&smb);
-	msg->hdr.length=smb_getmsghdrlen(msg);
+	msg->hdr.length=(ushort)smb_getmsghdrlen(msg);
 	if((i=smb_putmsghdr(&smb,msg))!=0)
 		errormsg(WHERE,ERR_WRITE,smb.file,i);
 }
diff --git a/src/smblib/smblib.h b/src/smblib/smblib.h
index 296cb179f38a909fcce20a8231111db300d4542b..61e4430b7d7edf8b7ff0e2452a42662b092971dd 100644
--- a/src/smblib/smblib.h
+++ b/src/smblib/smblib.h
@@ -105,7 +105,7 @@ SMBEXPORT int 	SMBCALL smb_unlocksmbhdr(smb_t* smb);
 SMBEXPORT int 	SMBCALL smb_getmsgidx(smb_t* smb, smbmsg_t* msg);
 SMBEXPORT int 	SMBCALL smb_getfirstidx(smb_t* smb, idxrec_t *idx);
 SMBEXPORT int 	SMBCALL smb_getlastidx(smb_t* smb, idxrec_t *idx);
-SMBEXPORT uint	SMBCALL smb_getmsghdrlen(smbmsg_t* msg);
+SMBEXPORT ulong	SMBCALL smb_getmsghdrlen(smbmsg_t* msg);
 SMBEXPORT ulong	SMBCALL smb_getmsgdatlen(smbmsg_t* msg);
 SMBEXPORT int 	SMBCALL smb_lockmsghdr(smb_t* smb, smbmsg_t* msg);
 SMBEXPORT int 	SMBCALL smb_getmsghdr(smb_t* smb, smbmsg_t* msg);