$NetBSD$

--- mod.c.orig	2002-04-08 00:55:20.000000000 +0200
+++ mod.c
@@ -151,10 +151,19 @@ mod_close(void)
 {
 	struct rule *rule;
 	
+#if defined(FRAGROUTE_SYSTEM_SYS_QUEUE) && defined(__NetBSD__)
+	TAILQ_FOREACH_REVERSE(rule, &rules, head, next) {
+		if (rule->mod->close != NULL)
+			rule->data = rule->mod->close(rule->data);
+		TAILQ_REMOVE(&rules, rule, next);
+		free(rule);
+	}
+#else
 	TAILQ_FOREACH_REVERSE(rule, &rules, next, head) {
 		if (rule->mod->close != NULL)
 			rule->data = rule->mod->close(rule->data);
 		TAILQ_REMOVE(&rules, rule, next);
 		free(rule);
 	}
+#endif
 }
