diff --git a/src/smblib/smblib.c b/src/smblib/smblib.c
index f24f2b85d3ea04d4eaf9023179ee5b19f1a0cb70..612c7e909e84e2ce9a667e165996ba98d09e39cc 100644
--- a/src/smblib/smblib.c
+++ b/src/smblib/smblib.c
@@ -1780,10 +1780,10 @@ int SMBCALL smb_incdat(smb_t* smb, ulong offset, ulong length, ushort refs)
 
 /****************************************************************************/
 /* Increments data allocation records (message references) by number of		*/
-/* headers specified (usually 1)											*/
+/* header references specified (usually 1)									*/
 /* The opposite function of smb_freemsg()									*/
 /****************************************************************************/
-int SMBCALL smb_incmsg(smb_t* smb, smbmsg_t* msg)
+int SMBCALL smb_incmsg_dfields(smb_t* smb, smbmsg_t* msg, ushort refs)
 {
 	int		i=0;
 	int		da_opened=0;
@@ -1800,7 +1800,7 @@ int SMBCALL smb_incmsg(smb_t* smb, smbmsg_t* msg)
 
 	for(x=0;x<msg->hdr.total_dfields;x++) {
 		if((i=smb_incdat(smb,msg->hdr.offset+msg->dfield[x].offset
-			,msg->dfield[x].length,1))!=0)
+			,msg->dfield[x].length,refs))!=0)
 			break; 
 	}
 
diff --git a/src/smblib/smblib.h b/src/smblib/smblib.h
index f417cbd11e731fcb2241ab2e93815f0522f5faf9..57d706fcdee92f4f9111e36d5e3da350ab6ae595 100644
--- a/src/smblib/smblib.h
+++ b/src/smblib/smblib.h
@@ -85,6 +85,10 @@
 
 #define SMB_IS_OPEN(smb)	((smb)->shd_fp!=NULL)
 
+/* Legacy API functions */
+#define smb_incmsg(smb,msg)	smb_incmsg_dfields(smb,msg,1)
+#define smb_incdat			smb_incmsgdat
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -133,8 +137,8 @@ SMBEXPORT long	SMBCALL smb_hallochdr(smb_t* smb);
 SMBEXPORT long	SMBCALL smb_allocdat(smb_t* smb, ulong length, ushort refs);
 SMBEXPORT long	SMBCALL smb_fallocdat(smb_t* smb, ulong length, ushort refs);
 SMBEXPORT long	SMBCALL smb_hallocdat(smb_t* smb);
-SMBEXPORT int	SMBCALL smb_incmsg(smb_t* smb, smbmsg_t* msg);
-SMBEXPORT int 	SMBCALL smb_incdat(smb_t* smb, ulong offset, ulong length, ushort refs);
+SMBEXPORT int	SMBCALL smb_incmsg_dfields(smb_t* smb, smbmsg_t* msg, ushort refs);
+SMBEXPORT int 	SMBCALL smb_incmsgdat(smb_t* smb, ulong offset, ulong length, ushort refs);
 SMBEXPORT int 	SMBCALL smb_freemsg(smb_t* smb, smbmsg_t* msg);
 SMBEXPORT int	SMBCALL smb_freemsg_dfields(smb_t* smb, smbmsg_t* msg, ushort refs);
 SMBEXPORT int 	SMBCALL smb_freemsgdat(smb_t* smb, ulong offset, ulong length, ushort refs);