diff --git a/editors/sed.c b/editors/sed.c
index a18cfc7..352c5c9 100644
--- a/editors/sed.c
+++ b/editors/sed.c
@@ -490,7 +490,7 @@
 	}
 }
 
-static void print_subst_w_backrefs(const char *line, const char *replace, regmatch_t *regmatch)
+static void print_subst_w_backrefs(const char *line, const char *replace, regmatch_t *regmatch, int matches)
 {
 	int i;
 
@@ -506,8 +506,9 @@
 			tmpstr[1] = 0;
 			backref = atoi(tmpstr);
 			/* print out the text held in regmatch[backref] */
-			for (j = regmatch[backref].rm_so; j < regmatch[backref].rm_eo; j++)
-				fputc(line[j], stdout);
+			if (backref <= matches && regmatch[backref].rm_so != -1)
+				for (j = regmatch[backref].rm_so; j < regmatch[backref].rm_eo; j++)
+					fputc(line[j], stdout);
 		}
 
 		/* if we find a backslash escaped character, print the character */
@@ -555,7 +556,8 @@
 			fputc(hackline[i], stdout);
 
 		/* then print the substitution string */
-		print_subst_w_backrefs(hackline, sed_cmd->replace, regmatch);
+		print_subst_w_backrefs(hackline, sed_cmd->replace, regmatch,
+				sed_cmd->num_backrefs);
 
 		/* advance past the match */
 		hackline += regmatch[0].rm_eo;
diff --git a/sed.c b/sed.c
index a18cfc7..352c5c9 100644
--- a/sed.c
+++ b/sed.c
@@ -490,7 +490,7 @@
 	}
 }
 
-static void print_subst_w_backrefs(const char *line, const char *replace, regmatch_t *regmatch)
+static void print_subst_w_backrefs(const char *line, const char *replace, regmatch_t *regmatch, int matches)
 {
 	int i;
 
@@ -506,8 +506,9 @@
 			tmpstr[1] = 0;
 			backref = atoi(tmpstr);
 			/* print out the text held in regmatch[backref] */
-			for (j = regmatch[backref].rm_so; j < regmatch[backref].rm_eo; j++)
-				fputc(line[j], stdout);
+			if (backref <= matches && regmatch[backref].rm_so != -1)
+				for (j = regmatch[backref].rm_so; j < regmatch[backref].rm_eo; j++)
+					fputc(line[j], stdout);
 		}
 
 		/* if we find a backslash escaped character, print the character */
@@ -555,7 +556,8 @@
 			fputc(hackline[i], stdout);
 
 		/* then print the substitution string */
-		print_subst_w_backrefs(hackline, sed_cmd->replace, regmatch);
+		print_subst_w_backrefs(hackline, sed_cmd->replace, regmatch,
+				sed_cmd->num_backrefs);
 
 		/* advance past the match */
 		hackline += regmatch[0].rm_eo;
