diff --git a/src/regex.c b/src/regex.c
index 7a76940..64f93c3 100644
--- a/src/regex.c
+++ b/src/regex.c
@@ -124,6 +124,13 @@
 
 int regex_comp(const char *str, struct my_regex *regex, int cs, int cap, char **err)
 {
+	/* copy the original regex format */
+	regex->regstr = strdup(str);
+	if (!regex->regstr) {
+		memprintf(err, "out of memory");
+		return 0;
+	}
+
 #ifdef USE_PCRE_JIT
 	int flags = 0;
 	const char *error;
@@ -136,12 +143,14 @@
 
 	regex->reg = pcre_compile(str, flags, &error, &erroffset, NULL);
 	if (!regex->reg) {
+		free(regex->regstr);
 		memprintf(err, "regex '%s' is invalid (error=%s, erroffset=%d)", str, error, erroffset);
 		return 0;
 	}
 
 	regex->extra = pcre_study(regex->reg, PCRE_STUDY_JIT_COMPILE, &error);
 	if (!regex->extra) {
+		free(regex->regstr);
 		pcre_free(regex->reg);
 		memprintf(err, "failed to compile regex '%s' (error=%s)", str, error);
 		return 0;
@@ -155,6 +164,7 @@
 		flags |= REG_NOSUB;
 
 	if (regcomp(&regex->regex, str, flags) != 0) {
+		free(regex->regstr);
 		memprintf(err, "regex '%s' is invalid", str);
 		return 0;
 	}
