struct sctp_association *asoc;
 
        asoc = __sctp_lookup_association(net, laddr, paddr, transportp);
+       if (asoc)
+               goto out;
 
        /* Further lookup for INIT/INIT-ACK packets.
         * SCTP Implementors Guide, 2.18 Handling of address
         * parameters within the INIT or INIT-ACK.
         */
-       if (!asoc)
-               asoc = __sctp_rcv_lookup_harder(net, skb, laddr, transportp);
+       asoc = __sctp_rcv_lookup_harder(net, skb, laddr, transportp);
+       if (asoc)
+               goto out;
 
+       if (paddr->sa.sa_family == AF_INET)
+               pr_debug("sctp: asoc not found for src:%pI4:%d dst:%pI4:%d\n",
+                        &laddr->v4.sin_addr, ntohs(laddr->v4.sin_port),
+                        &paddr->v4.sin_addr, ntohs(paddr->v4.sin_port));
+       else
+               pr_debug("sctp: asoc not found for src:%pI6:%d dst:%pI6:%d\n",
+                        &laddr->v6.sin6_addr, ntohs(laddr->v6.sin6_port),
+                        &paddr->v6.sin6_addr, ntohs(paddr->v6.sin6_port));
+
+out:
        return asoc;
 }