diff --git a/src/smblib/smbdefs.h b/src/smblib/smbdefs.h
index 64ec8d0d4d4da66e8e37f59408721c9b8aa9135a..faf499bcc2bcca1427f7af3a0042090fac1d3bab 100644
--- a/src/smblib/smbdefs.h
+++ b/src/smblib/smbdefs.h
@@ -596,6 +596,7 @@ typedef struct {				/* Message or File */
 				*from_ip,		/* From IP address (e.g. "192.168.1.2") */
 				*from_host,		/* From host name */
 				*from_prot,		/* From protocol (e.g. "Telnet", "NNTP", "HTTP", etc.) */
+				*from_port,		/* From TCP/UDP port number */
 				*replyto,		/* Reply-to name */
 				*replyto_ext,	/* Reply-to extension */
 				*replyto_list,	/* Comma-separated list of mailboxes, RFC822-style */
diff --git a/src/smblib/smblib.c b/src/smblib/smblib.c
index 36a5659e41a8307675637c390b48d2872d12a47d..103035e2143e4ca3df6b63b1f93bf17d464773c3 100644
--- a/src/smblib/smblib.c
+++ b/src/smblib/smblib.c
@@ -773,6 +773,9 @@ static void set_convenience_ptr(smbmsg_t* msg, uint16_t hfield_type, void* hfiel
 		case SENDERPROTOCOL:
 			msg->from_prot=(char*)hfield_dat;
 			break;
+		case SENDERPORT:
+			msg->from_port=(char*)hfield_dat;
+			break;
 		case REPLYTO:
 			msg->replyto=(char*)hfield_dat;
 			break;
@@ -910,6 +913,7 @@ static void clear_convenience_ptrs(smbmsg_t* msg)
 	msg->from_ip=NULL;
 	msg->from_host=NULL;
 	msg->from_prot=NULL;
+	msg->from_port=NULL;
 	memset(&msg->from_net,0,sizeof(net_t));
 
 	msg->replyto=NULL;