summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/filter.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/filter.c b/lib/filter.c
index 17ca4689f4..4a83b8b043 100644
--- a/lib/filter.c
+++ b/lib/filter.c
@@ -451,6 +451,7 @@ static void access_list_filter_delete(struct access_list *access,
struct filter *filter)
{
struct access_master *master;
+ struct filter *replace = filter;
master = access->master;
@@ -472,7 +473,7 @@ static void access_list_filter_delete(struct access_list *access,
(*master->delete_hook)(access);
/* If access_list becomes empty delete it from access_master. */
- if (access_list_empty(access))
+ if (access_list_empty(access) && !replace)
access_list_delete(access);
}