--- src/Sessions.cc.old	2009-01-09 11:28:08.000000000 +0100
+++ src/Sessions.cc	2009-01-09 11:31:47.000000000 +0100
@@ -711,11 +711,11 @@
 	RecordVal* ip_hdr = new RecordVal(ip_hdr_type);
 
 	int ip_hdr_len = ip->ip_hl * 4;
-	int pkt_len = ip->ip_len;
+	int ip_pkt_len = ntohs(ip->ip_len);
 
 	ip_hdr->Assign(0, new Val(ip->ip_hl * 4, TYPE_COUNT));
 	ip_hdr->Assign(1, new Val(ip->ip_tos, TYPE_COUNT));
-	ip_hdr->Assign(2, new Val(ntohs(ip->ip_len), TYPE_COUNT));
+	ip_hdr->Assign(2, new Val(ip_pkt_len, TYPE_COUNT));
 	ip_hdr->Assign(3, new Val(ntohs(ip->ip_id), TYPE_COUNT));
 	ip_hdr->Assign(4, new Val(ip->ip_ttl, TYPE_COUNT));
 	ip_hdr->Assign(5, new Val(ip->ip_p, TYPE_COUNT));
@@ -735,7 +735,7 @@
 		RecordVal* tcp_hdr = new RecordVal(tcp_hdr_type);
 
 		int tcp_hdr_len = tp->th_off * 4;
-		int data_len = pkt_len - ip_hdr_len - tcp_hdr_len;
+		int data_len = ip_pkt_len - ip_hdr_len - tcp_hdr_len;
 
 		tcp_hdr->Assign(0, new PortVal(ntohs(tp->th_sport), TRANSPORT_TCP));
 		tcp_hdr->Assign(1, new PortVal(ntohs(tp->th_dport), TRANSPORT_TCP));

