diff --git a/src/smblib/smblib.c b/src/smblib/smblib.c
index 11512f0c0cf77a4456d769dc8b1be187b08f00c8..9f5e39df95a6d3d01821f29178e6d7a6fa0f06c9 100644
--- a/src/smblib/smblib.c
+++ b/src/smblib/smblib.c
@@ -1541,7 +1541,7 @@ int SMBCALL smb_addmsg(smb_t* smb, smbmsg_t* msg, int storage, BOOL dupechk
 
 		msg->hdr.number=smb->status.last_msg+1;
 
-		hashes=smb_msghashes(smb,msg,body);
+		hashes=smb_msghashes(smb,msg,smb->status.max_crcs ? body : NULL);
 
 		if(dupechk && smb_findhash(smb, hashes, &found, /* update? */FALSE)==SMB_SUCCESS) {
 			safe_snprintf(smb->last_error,sizeof(smb->last_error)