diff --git a/src/switch_regex.c b/src/switch_regex.c
index 473b998f84..de56e74754 100644
--- a/src/switch_regex.c
+++ b/src/switch_regex.c
@@ -153,7 +153,10 @@ SWITCH_DECLARE(void) switch_perform_substitution(switch_regex_t *re, int match_c
 			if (num < 0 || num > 256) {
 				num = -1;
 			}
-
+			
+			/* make $1 start where it matched in | sep list */
+			num += (match_count-2);
+			
 			if (pcre_copy_substring(field_data, ovector, match_count, num, replace, sizeof(replace)) > 0) {
 				switch_size_t r;
 				for (r = 0; r < strlen(replace); r++) {