diff --git a/ChangeLog b/ChangeLog
index 47c2f4e0edf9e5a8d62e44f5df70905860ac64e6..110453d70bb129631a8715c1eb478f314f0f8177 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,9 @@
 2014-05-17  Benno Schulenberg  <bensberg@justemail.net>
 	* doc/syntax/json.nanorc: New file, originally from Aapo Rantalainen,
 	but edited, extended, and improved.  See Savannah patch #7410.
+	* src/winio.c (edit_draw): Do not skip the colour-off commands at the
+	end of the loop.  Based on Savannah patch #7550 by Ryan Lothian.
+	This fixes bug #26111 reported by Dave Geering <dreamlax@Savannah>.
 
 2014-05-16  Benno Schulenberg  <bensberg@justemail.net>
 	* src/text.c, src/winio.c: Remove some more double spaces.
diff --git a/src/winio.c b/src/winio.c
index 45d327083777fc72b75d899138feed23a29e00ed..dbf03ba730c0702718aefff51a7b12c25db5b8f3 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -2603,16 +2603,16 @@ void edit_draw(filestruct *fileptr, const char *converted, int
 		if (md == -1)
 		    fileptr->multidata[tmpcolor->id] = CNONE; /* until we find out otherwise */
 		else if (md == CNONE)
-		    continue;
+		    goto end_of_loop;
 		else if (md == CWHOLELINE) {
 		    mvwaddnstr(edit, line, 0, converted, -1);
-		    continue;
+		    goto end_of_loop;
 		} else if (md == CBEGINBEFORE) {
 		    regexec(tmpcolor->end, fileptr->data, 1, &endmatch, 0);
 		    paintlen = actual_x(converted, strnlenpt(fileptr->data,
 			endmatch.rm_eo) - start);
 		    mvwaddnstr(edit, line, 0, converted, paintlen);
-		    continue;
+		    goto end_of_loop;
 		}
 
 		while (start_line != NULL && regexec(tmpcolor->start,
@@ -2762,7 +2762,7 @@ void edit_draw(filestruct *fileptr, const char *converted, int
 		    }
 		}
 	    }
-
+  end_of_loop:
 	    wattroff(edit, A_BOLD);
 	    wattroff(edit, COLOR_PAIR(tmpcolor->pairnum));
 	}