--- a/mercurial/bdiff.c Tue Nov 15 21:56:49 2016 +0100
+++ b/mercurial/bdiff.c Tue Nov 15 21:56:49 2016 +0100
@@ -184,7 +184,7 @@
mj = j;
mk = k;
} else if (k == mk) {
- if (i > mi && i <= half) {
+ if (i > mi && i <= half && j > b1) {
/* same match but closer to half */
mi = i;
mj = j;