diff --git a/src/smblib/smbhash.c b/src/smblib/smbhash.c
index d75fde471c370741a253094e325773ba378ad95c..454e2c3e164b7d38469a71a50efb321bcbc00332 100644
--- a/src/smblib/smbhash.c
+++ b/src/smblib/smbhash.c
@@ -189,6 +189,9 @@ hash_t* SMBCALL smb_hash(ulong msgnum, ulong t, unsigned source, unsigned flags
 {
 	hash_t*	hash;
 
+	if(length==0)		/* Don't hash 0-length sources (e.g. empty/blank message bodies) */
+		return(NULL);
+
 	if((hash=(hash_t*)malloc(sizeof(hash_t)))==NULL)
 		return(NULL);