diff --git a/find/parser.c b/find/parser.c
index a087bec..0520f10 100644
--- a/find/parser.c
+++ b/find/parser.c
@@ -1618,6 +1618,7 @@ parse_regex (const struct parser_table* entry, char **argv, int *arg_ptr)
 static boolean
 insert_regex (char **argv, int *arg_ptr, const struct parser_table *entry, int regex_options)
 {
+  char *temp = argv[*arg_ptr];
   struct predicate *our_pred;
   struct re_pattern_buffer *re;
   const char *error_message;
@@ -1637,12 +1638,12 @@ insert_regex (char **argv, int *arg_ptr, const struct parser_table *entry, int r
   re->syntax = regex_options;
   re->translate = NULL;

-  error_message = re_compile_pattern (argv[*arg_ptr], strlen (argv[*arg_ptr]),
+  error_message = re_compile_pattern (temp, strlen (temp),
                                      re);
   if (error_message)
     error (1, 0, "%s", error_message);
   (*arg_ptr)++;
-  our_pred->est_success_rate = estimate_pattern_match_rate(argv[*arg_ptr], 1);
+  our_pred->est_success_rate = estimate_pattern_match_rate(temp, 1);
   return true;
 }
 
