diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c
index f4254bb4745d882fbf32e6a1306a39247ecf3597..36700a46b2456dd2bc5f3049579dac0fe9612ec1 100644
--- a/net/dccp/ipv4.c
+++ b/net/dccp/ipv4.c
@@ -86,7 +86,7 @@ int dccp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
 		daddr = fl4.daddr;
 
 	if (inet->inet_saddr == 0)
-		inet->inet_saddr = rt->rt_src;
+		inet->inet_saddr = fl4.saddr;
 	inet->inet_rcv_saddr = inet->inet_saddr;
 
 	inet->inet_dport = usin->sin_port;