diff --git a/src/diff.c b/src/diff.c
index d743334..6e5097e 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -1826,7 +1826,22 @@
 	    else
 	    {
 		// second overlap of new block with existing block
-		dp->df_count[idx_new] += hunk->count_new;
+
+		// if this hunk has different orig/new counts, adjust
+		// the diff block size first. When we handled the first hunk we
+		// would have expanded it to fit, without knowing that this
+		// hunk exists
+		int orig_size_in_dp = MIN(hunk->count_orig,
+			dp->df_lnum[idx_orig] +
+			dp->df_count[idx_orig] - hunk->lnum_orig);
+		int size_diff = hunk->count_new - orig_size_in_dp;
+		dp->df_count[idx_new] += size_diff;
+
+		// grow existing block to include the overlap completely
+		off = hunk->lnum_new + hunk->count_new
+		    - (dp->df_lnum[idx_new] + dp->df_count[idx_new]);
+		if (off > 0)
+		    dp->df_count[idx_new] += off;
 		if ((dp->df_lnum[idx_new] + dp->df_count[idx_new] - 1)
 			> curtab->tp_diffbuf[idx_new]->b_ml.ml_line_count)
 		    dp->df_count[idx_new] = curtab->tp_diffbuf[idx_new]->b_ml.ml_line_count
@@ -1839,8 +1854,16 @@
 			 - (dpl->df_lnum[idx_orig] + dpl->df_count[idx_orig]);
 	    if (off < 0)
 	    {
-		// new change ends in existing block, adjust the end
-		dp->df_count[idx_new] += -off;
+		// new change ends in existing block, adjust the end. We only
+		// need to do this once per block or we will over-adjust.
+		if (notset || dp != dpl)
+		{
+		    // adjusting by 'off' here is only correct if
+		    // there is not another hunk in this block. we
+		    // adjust for this when we encounter a second
+		    // overlap later.
+		    dp->df_count[idx_new] += -off;
+		}
 		if ((dp->df_lnum[idx_new] + dp->df_count[idx_new] - 1)
 			> curtab->tp_diffbuf[idx_new]->b_ml.ml_line_count)
 		    dp->df_count[idx_new] = curtab->tp_diffbuf[idx_new]->b_ml.ml_line_count
