diff --git a/src/cntlr_map.c b/src/cntlr_map.c
index e8af47f5ca251c38fbae791d8e01155cd77c7479..aee8dbc96a54728f759591622382b17c0414c3fd 100644
--- a/src/cntlr_map.c
+++ b/src/cntlr_map.c
@@ -694,7 +694,7 @@ int handle_topology_response(void *cntlr, struct cmdu_buff *cmdu, struct node *n
 
 				s->de_sta->conn_time = conntime;
 				s->state = conntime != 0 ? STA_ASSOCIATED : STA_DISCONNECTED;
-				if (s->state == STA_ASSOCIATED) {
+				if (old_state != STA_ASSOCIATED && s->state == STA_ASSOCIATED) {
 					node_add_sta(n, s);
 					time(&s->assoc_time);