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;
