diff --git a/include/proto/pattern.h b/include/proto/pattern.h
index e6afa51..be9975e 100644
--- a/include/proto/pattern.h
+++ b/include/proto/pattern.h
@@ -68,12 +68,11 @@
  * never fails.
  *
  */
-void pat_del_list_val(struct pattern_expr *expr, struct pattern *pat);
-void pat_del_tree_ip(struct pattern_expr *expr, struct pattern *pat);
-void pat_del_list_ptr(struct pattern_expr *expr, struct pattern *pat);
-void pat_del_tree_str(struct pattern_expr *expr, struct pattern *pat);
-void pat_del_list_str(struct pattern_expr *expr, struct pattern *pat);
-void pat_del_list_reg(struct pattern_expr *expr, struct pattern *pat);
+void pat_del_list_val(struct pattern_expr *expr, struct pat_ref_elt *ref);
+void pat_del_tree_ip(struct pattern_expr *expr, struct pat_ref_elt *ref);
+void pat_del_list_ptr(struct pattern_expr *expr, struct pat_ref_elt *ref);
+void pat_del_tree_str(struct pattern_expr *expr, struct pat_ref_elt *ref);
+void pat_del_list_reg(struct pattern_expr *expr, struct pat_ref_elt *ref);
 
 /*
  *
@@ -191,6 +190,7 @@
 int pat_ref_add(struct pat_ref *ref, const char *pattern, const char *sample, char **err);
 int pat_ref_set(struct pat_ref *ref, const char *pattern, const char *sample);
 int pat_ref_delete(struct pat_ref *ref, const char *key);
+int pat_ref_delete_by_id(struct pat_ref *ref, struct pat_ref_elt *refelt);
 void pat_ref_prune(struct pat_ref *ref);
 int pat_ref_load(struct pat_ref *ref, struct pattern_expr *expr, int patflags, int soe, char **err);
 
@@ -208,7 +208,7 @@
 struct pattern_expr *pattern_lookup_expr(struct pattern_head *head, struct pat_ref *ref);
 struct pattern_expr *pattern_new_expr(struct pattern_head *head, struct pat_ref *ref, char **err);
 struct sample_storage **pattern_find_smp(const char *key, struct pattern_expr *expr, char **err);
-int pattern_delete(const char *key, struct pattern_expr *expr, char **err);
+int pattern_delete(struct pattern_expr *expr, struct pat_ref_elt *ref);
 
 
 #endif
diff --git a/include/types/acl.h b/include/types/acl.h
index c0b5ace..1956ec3 100644
--- a/include/types/acl.h
+++ b/include/types/acl.h
@@ -94,7 +94,7 @@
 	char *fetch_kw;
 	int (*parse)(const char *text, struct pattern *pattern, char **err);
 	int (*index)(struct pattern_expr *expr, struct pattern *pattern, char **err);
-	void (*delete)(struct pattern_expr *expr, struct pattern *pattern);
+	void (*delete)(struct pattern_expr *expr, struct pat_ref_elt *);
 	struct sample_storage **(*find_smp)(struct pattern_expr *, struct pattern *);
 	void (*prune)(struct pattern_expr *expr);
 	struct pattern *(*match)(struct sample *smp, struct pattern_expr *expr, int fill);
diff --git a/include/types/pattern.h b/include/types/pattern.h
index 7fa860f..a9dd033 100644
--- a/include/types/pattern.h
+++ b/include/types/pattern.h
@@ -207,7 +207,7 @@
 	int (*parse)(const char *text, struct pattern *pattern, char **err);
 	int (*parse_smp)(const char *text, struct sample_storage *smp);
 	int (*index)(struct pattern_expr *, struct pattern *, char **);
-	void (*delete)(struct pattern_expr *, struct pattern *);
+	void (*delete)(struct pattern_expr *, struct pat_ref_elt *);
 	struct sample_storage **(*find_smp)(struct pattern_expr *, struct pattern *);
 	void (*prune)(struct pattern_expr *);
 	struct pattern *(*match)(struct sample *, struct pattern_expr *, int);
@@ -219,7 +219,7 @@
 extern char *pat_match_names[PAT_MATCH_NUM];
 extern int (*pat_parse_fcts[PAT_MATCH_NUM])(const char *, struct pattern *, char **);
 extern int (*pat_index_fcts[PAT_MATCH_NUM])(struct pattern_expr *, struct pattern *, char **);
-extern void (*pat_delete_fcts[PAT_MATCH_NUM])(struct pattern_expr *, struct pattern *);
+extern void (*pat_delete_fcts[PAT_MATCH_NUM])(struct pattern_expr *, struct pat_ref_elt *);
 extern struct sample_storage **(*pat_find_smp_fcts[PAT_MATCH_NUM])(struct pattern_expr *, struct pattern *);
 void (*pat_prune_fcts[PAT_MATCH_NUM])(struct pattern_expr *);
 extern struct pattern *(*pat_match_fcts[PAT_MATCH_NUM])(struct sample *, struct pattern_expr *, int);
