diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 953a73f..2c35f2f 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -713,6 +713,7 @@
 	unsigned long sent_at;
 
 	/* What is the origin IP address for this chunk?  */
+	union sctp_addr source;
 	union sctp_addr source_h;
 	/* Destination address for this chunk. */
 	union sctp_addr dest;
@@ -756,6 +757,7 @@
 /* This is a structure for holding either an IPv6 or an IPv4 address.  */
 struct sctp_sockaddr_entry {
 	struct list_head list;
+	union sctp_addr a;
 	union sctp_addr a_h;
 	__u8 use_as_src;
 };
@@ -842,6 +844,7 @@
 	int	 dead;
 
 	/* This is the peer's IP address and port. */
+	union sctp_addr ipaddr;
 	union sctp_addr ipaddr_h;
 
 	/* These are the functions we call to handle LLP stuff.	 */
@@ -900,6 +903,7 @@
 	/* Destination */
 	struct dst_entry *dst;
 	/* Source address. */
+	union sctp_addr saddr;
 	union sctp_addr saddr_h;
 
 	/* When was the last time(in jiffies) that a data packet was sent on
diff --git a/net/sctp/bind_addr.c b/net/sctp/bind_addr.c
index b8115cb..2b36e42 100644
--- a/net/sctp/bind_addr.c
+++ b/net/sctp/bind_addr.c
@@ -163,6 +163,8 @@
 	if (!addr->a_h.v4.sin_port)
 		addr->a_h.v4.sin_port = bp->port;
 
+	flip_to_n(&addr->a, &addr->a_h);
+
 	addr->use_as_src = use_as_src;
 
 	INIT_LIST_HEAD(&addr->list);
diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c
index e533970..8ebd177 100644
--- a/net/sctp/ipv6.c
+++ b/net/sctp/ipv6.c
@@ -332,10 +332,11 @@
 		/* Add the address to the local list.  */
 		addr = t_new(struct sctp_sockaddr_entry, GFP_ATOMIC);
 		if (addr) {
-			addr->a_h.v6.sin6_family = AF_INET6;
-			addr->a_h.v6.sin6_port = 0;
-			addr->a_h.v6.sin6_addr = ifp->addr;
-			addr->a_h.v6.sin6_scope_id = dev->ifindex;
+			addr->a.v6.sin6_family = AF_INET6;
+			addr->a.v6.sin6_port = 0;
+			addr->a.v6.sin6_addr = ifp->addr;
+			addr->a.v6.sin6_scope_id = dev->ifindex;
+			addr->a_h = addr->a;
 			INIT_LIST_HEAD(&addr->list);
 			list_add_tail(&addr->list, addrlist);
 		}
diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c
index 20883ff..3632740 100644
--- a/net/sctp/protocol.c
+++ b/net/sctp/protocol.c
@@ -150,9 +150,10 @@
 		/* Add the address to the local list.  */
 		addr = t_new(struct sctp_sockaddr_entry, GFP_ATOMIC);
 		if (addr) {
-			addr->a_h.v4.sin_family = AF_INET;
-			addr->a_h.v4.sin_port = 0;
-			addr->a_h.v4.sin_addr.s_addr = ifa->ifa_local;
+			addr->a.v4.sin_family = AF_INET;
+			addr->a.v4.sin_port = 0;
+			addr->a.v4.sin_addr.s_addr = ifa->ifa_local;
+			addr->a_h = addr->a;
 			list_add_tail(&addr->list, addrlist);
 		}
 	}
diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
index 13109cf..b8e0f72 100644
--- a/net/sctp/sm_make_chunk.c
+++ b/net/sctp/sm_make_chunk.c
@@ -1032,6 +1032,7 @@
 		     union sctp_addr *dest)
 {
 	memcpy(&chunk->source_h, src, sizeof(union sctp_addr));
+	flip_to_n(&chunk->source, &chunk->source_h);
 	memcpy(&chunk->dest, dest, sizeof(union sctp_addr));
 }
 
diff --git a/net/sctp/transport.c b/net/sctp/transport.c
index 1f56c9d..bacd094 100644
--- a/net/sctp/transport.c
+++ b/net/sctp/transport.c
@@ -62,10 +62,12 @@
 {
 	/* Copy in the address.  */
 	peer->ipaddr_h = *addr;
+	flip_to_n(&peer->ipaddr, &peer->ipaddr_h);
 	peer->af_specific = sctp_get_af_specific(addr->sa.sa_family);
 	peer->asoc = NULL;
 
 	peer->dst = NULL;
+	memset(&peer->saddr, 0, sizeof(union sctp_addr));
 	memset(&peer->saddr_h, 0, sizeof(union sctp_addr));
 
 	/* From 6.3.1 RTO Calculation:
@@ -258,6 +260,7 @@
 		memcpy(&transport->saddr_h, saddr, sizeof(union sctp_addr));
 	else
 		af->get_saddr(asoc, dst, daddr, &transport->saddr_h);
+	flip_to_n(&transport->saddr, &transport->saddr_h);
 
 	transport->dst = dst;
 	if ((transport->param_flags & SPP_PMTUD_DISABLE) && transport->pathmtu) {
