diff --git a/src/pattern.c b/src/pattern.c
index e4a6b0b..0850f2f 100644
--- a/src/pattern.c
+++ b/src/pattern.c
@@ -1764,35 +1764,6 @@
 	return 1;
 }
 
-/* return 1 if the process is ok
- * return -1 if the parser fail. The err message is filled.
- * return -2 if out of memory
- */
-static inline
-int pattern_add(struct pattern_expr *expr, const char *arg,
-                struct sample_storage *smp,
-                int patflags, char **err)
-{
-	int ret;
-	struct pattern pattern;
-
-	/* initialise pattern */
-	memset(&pattern, 0, sizeof(pattern));
-	pattern.flags = patflags;
-	pattern.smp = smp;
-
-	/* parse pattern */
-	ret = expr->pat_head->parse(arg, &pattern, err);
-	if (!ret)
-		return 0;
-
-	/* index pattern */
-	if (!expr->pat_head->index(expr, &pattern, err))
-		return 0;
-
-	return 1;
-}
-
 /* This function create sample found in <elt>, parse the pattern also
  * found in <elt> and insert it in <expr>. The function copy <patflags>
  * in <expr>. If the function fails, it returns0 and <err> is filled.
@@ -1802,8 +1773,8 @@
 int pat_ref_push(struct pat_ref_elt *elt, struct pattern_expr *expr,
                  int patflags, char **err)
 {
-	int ret;
 	struct sample_storage *smp;
+	struct pattern pattern;
 
 	/* Create sample */
 	if (elt->sample && expr->pat_head->parse_smp) {
@@ -1823,12 +1794,20 @@
 	else
 		smp = NULL;
 
+	/* initialise pattern */
+	memset(&pattern, 0, sizeof(pattern));
+	pattern.flags = patflags;
+	pattern.smp = smp;
+
-	/* Index value */
-	ret = pattern_add(expr, elt->pattern, smp, patflags, err);
-	if (ret != 1) {
+	/* parse pattern */
+	if (!expr->pat_head->parse(elt->pattern, &pattern, err)) {
+		free(smp);
+		return 0;
+	}
+
+	/* index pattern */
+	if (!expr->pat_head->index(expr, &pattern, err)) {
 		free(smp);
-		if (ret == -2)
-			memprintf(err, "out of memory");
 		return 0;
 	}
 
