diff --git a/src/net_setup.c b/src/net_setup.c
index 3847b346..e0f15696 100644
--- a/src/net_setup.c
+++ b/src/net_setup.c
@@ -588,6 +588,12 @@ void close_network_connections(void)
 		close(listen_socket[i].udp);
 	}
 
+	asprintf(&envp[0], "NETNAME=%s", netname ? : "");
+	asprintf(&envp[1], "DEVICE=%s", device ? : "");
+	asprintf(&envp[2], "INTERFACE=%s", iface ? : "");
+	asprintf(&envp[3], "NAME=%s", myself->name);
+	envp[4] = NULL;
+
 	exit_requests();
 	exit_events();
 	exit_edges();
@@ -595,12 +601,6 @@ void close_network_connections(void)
 	exit_nodes();
 	exit_connections();
 
-	asprintf(&envp[0], "NETNAME=%s", netname ? : "");
-	asprintf(&envp[1], "DEVICE=%s", device ? : "");
-	asprintf(&envp[2], "INTERFACE=%s", iface ? : "");
-	asprintf(&envp[3], "NAME=%s", myself->name);
-	envp[4] = NULL;
-
 	execute_script("tinc-down", envp);
 
 	for(i = 0; i < 4; i++)