diff --git a/src/cntlr.c b/src/cntlr.c
index b4d70c1bd51d724ee83447e45a5a5a74a9e06c9a..e7a686b5d5f39fce63cca20680c489135eb38b8d 100644
--- a/src/cntlr.c
+++ b/src/cntlr.c
@@ -1507,8 +1507,6 @@ bool cntlr_resync_config(struct controller *c, bool reload)
 	struct node_policy *np;
 
 	diff = cntlr_config_reload(&c->cfg);
-	if (reload)
-		cntlr_check_config_diff(c, diff);
 
 	list_for_each_entry(np, &c->cfg.nodelist, list) {
 		struct node *n;
@@ -1518,6 +1516,9 @@ bool cntlr_resync_config(struct controller *c, bool reload)
 			n->np = np;
 	}
 
+	if (reload)
+		cntlr_check_config_diff(c, diff);
+
 	return !!diff;
 }