diff --git a/autoroll/go/codereview/roll.go b/autoroll/go/codereview/roll.go
index 67023d0..7919460 100644
--- a/autoroll/go/codereview/roll.go
+++ b/autoroll/go/codereview/roll.go
@@ -5,6 +5,7 @@
 	"errors"
 	"fmt"
 	"net/http"
+	"strings"
 	"time"
 
 	github_api "github.com/google/go-github/v29/github"
@@ -25,6 +26,10 @@
 	// GitHubPRDurationForChecks is the duration after a PR is created that
 	// checks should be looked at.
 	GitHubPRDurationForChecks = time.Minute * 15
+
+	// ErrMergeConflict as a substring of an error message indicates that a
+	// merge conflict occurred.
+	ErrMergeConflict = "conflict during merge"
 )
 
 // RollImpl describes the behavior of an autoroll CL.
@@ -250,6 +255,11 @@
 	} else if rollCommit.Parents[0].Commit != head.Hash {
 		sklog.Infof("HEAD is %s and CL is based on %s; attempting rebase.", head.Hash, rollCommit.Parents[0].Commit)
 		if err := r.g.Rebase(ctx, r.ci, "", false); err != nil {
+			if strings.Contains(err.Error(), ErrMergeConflict) {
+				if err2 := r.g.Abandon(ctx, r.ci, "Failed to rebase due to merge conflict; closing CL."); err2 != nil {
+					return skerr.Wrapf(err, "failed to rebase due to merge conflict and failed to abandon CL with: %s", err2)
+				}
+			}
 			return skerr.Wrap(err)
 		}
 		return r.Update(ctx)
diff --git a/autoroll/go/state_machine/state_machine.go b/autoroll/go/state_machine/state_machine.go
index 06343a7..dfd9086 100644
--- a/autoroll/go/state_machine/state_machine.go
+++ b/autoroll/go/state_machine/state_machine.go
@@ -326,7 +326,7 @@
 		return nil
 	})
 	f(F_CLOSE_DRY_RUN_FAILED, func(ctx context.Context, roll RollCLImpl) error {
-		if err := roll.Close(ctx, autoroll.ROLL_RESULT_DRY_RUN_FAILURE, fmt.Sprintf("Commit queue failed; closing this roll.")); err != nil {
+		if err := roll.Close(ctx, autoroll.ROLL_RESULT_DRY_RUN_FAILURE, fmt.Sprintf("Dry run failed; closing this roll.")); err != nil {
 			return err
 		}
 		n.SendIssueUpdate(ctx, roll.IssueID(), roll.IssueURL(), "This CL was abandoned because the commit queue dry run failed and there are new commits to try.")
@@ -377,9 +377,7 @@
 		return nil
 	})
 	f(F_RETRY_FAILED_NORMAL, func(ctx context.Context, roll RollCLImpl) error {
-		// TODO(borenet): The CQ will fail forever in the case of a
-		// merge conflict; we should really patch in the CL, rebase and
-		// upload again.
+		sklog.Infof("CQ failed but no new commits; retrying CQ.")
 		if err := roll.RetryCQ(ctx); err != nil {
 			return err
 		}
@@ -388,9 +386,6 @@
 	})
 	f(F_RETRY_FAILED_DRY_RUN, func(ctx context.Context, roll RollCLImpl) error {
 		sklog.Infof("Dry run failed but no new commits; retrying CQ.")
-		// TODO(borenet): The CQ will fail forever in the case of a
-		// merge conflict; we should really patch in the CL, rebase and
-		// upload again.
 		if err := roll.RetryDryRun(ctx); err != nil {
 			return err
 		}
