diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index 9e0509ce2f841bf9f4eaf38907ef9676192bb2bb..9de23a222d3f7b9f33e650483d749d3341c51dc0 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -331,7 +331,7 @@ void sctp_association_free(struct sctp_association *asoc)
 	/* Only real associations count against the endpoint, so
 	 * don't bother for if this is a temporary association.
 	 */
-	if (!asoc->temp) {
+	if (!list_empty(&asoc->asocs)) {
 		list_del(&asoc->asocs);
 
 		/* Decrement the backlog value for a TCP-style listening