diff --git a/src/cfgparse.c b/src/cfgparse.c
index 579dbcc..aa8bb90 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -7044,8 +7044,8 @@
 				}
 
 				newsrv->track = srv;
-				newsrv->tracknext = srv->tracknext;
-				srv->tracknext = newsrv;
+				newsrv->tracknext = srv->trackers;
+				srv->trackers = newsrv;
 
 				free(newsrv->trackit);
 				newsrv->trackit = NULL;
diff --git a/src/checks.c b/src/checks.c
index 4af3db7..069d06d 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -455,11 +455,10 @@
 
 		s->counters.down_trans++;
 
-		if (s->state & SRV_CHECKED)
-			for (srv = s->tracknext; srv; srv = srv->tracknext)
-				if (!(srv->state & SRV_MAINTAIN))
-					/* Only notify tracking servers that are not already in maintenance. */
-					set_server_down(&srv->check);
+		for (srv = s->trackers; srv; srv = srv->tracknext)
+			if (!(srv->state & SRV_MAINTAIN))
+				/* Only notify tracking servers that are not already in maintenance. */
+				set_server_down(&srv->check);
 	}
 
 	check->health = 0; /* failure */
@@ -531,11 +530,10 @@
 		Warning("%s.\n", trash.str);
 		send_log(s->proxy, LOG_NOTICE, "%s.\n", trash.str);
 
-		if (s->state & SRV_CHECKED)
-			for (srv = s->tracknext; srv; srv = srv->tracknext)
-				if (!(srv->state & SRV_MAINTAIN))
-					/* Only notify tracking servers if they're not in maintenance. */
-					set_server_up(&srv->check);
+		for (srv = s->trackers; srv; srv = srv->tracknext)
+			if (!(srv->state & SRV_MAINTAIN))
+				/* Only notify tracking servers if they're not in maintenance. */
+				set_server_up(&srv->check);
 	}
 
 	if (check->health >= check->rise)
@@ -576,9 +574,8 @@
 	if (!s->proxy->srv_bck && !s->proxy->srv_act)
 		set_backend_down(s->proxy);
 
-	if (s->state & SRV_CHECKED)
-		for(srv = s->tracknext; srv; srv = srv->tracknext)
-			set_server_disabled(&srv->check);
+	for (srv = s->trackers; srv; srv = srv->tracknext)
+		set_server_disabled(&srv->check);
 }
 
 static void set_server_enabled(struct check *check) {
@@ -610,9 +607,8 @@
 	Warning("%s.\n", trash.str);
 	send_log(s->proxy, LOG_NOTICE, "%s.\n", trash.str);
 
-	if (s->state & SRV_CHECKED)
-		for(srv = s->tracknext; srv; srv = srv->tracknext)
-			set_server_enabled(&srv->check);
+	for (srv = s->trackers; srv; srv = srv->tracknext)
+		set_server_enabled(&srv->check);
 }
 
 static void check_failed(struct check *check)
