diff --git a/cl.go b/cl.go
index a0205fd..8926d37 100644
--- a/cl.go
+++ b/cl.go
@@ -59,7 +59,7 @@
 // init carries out the package initialization.
 func init() {
 	cmdCLCleanup.Flags.BoolVar(&forceFlag, "f", false, `Ignore unmerged changes.`)
-	cmdCLCleanup.Flags.StringVar(&remoteBranchFlag, "remote-branch", "master", `Name of the remote branch the CL pertains to.`)
+	cmdCLCleanup.Flags.StringVar(&remoteBranchFlag, "remote-branch", "master", `Name of the remote branch the CL pertains to, without the leading "origin/".`)
 	cmdCLMail.Flags.BoolVar(&autosubmitFlag, "autosubmit", false, `Automatically submit the changelist when feasiable.`)
 	cmdCLMail.Flags.StringVar(&ccsFlag, "cc", "", `Comma-seperated list of emails or LDAPs to cc.`)
 	cmdCLMail.Flags.BoolVar(&draftFlag, "d", false, `Send a draft changelist.`)
@@ -68,13 +68,13 @@
 	cmdCLMail.Flags.StringVar(&messageFlag, "m", "", `CL description.`)
 	cmdCLMail.Flags.StringVar(&presubmitFlag, "presubmit", string(gerrit.PresubmitTestTypeAll),
 		fmt.Sprintf("The type of presubmit tests to run. Valid values: %s.", strings.Join(gerrit.PresubmitTestTypes(), ",")))
-	cmdCLMail.Flags.StringVar(&remoteBranchFlag, "remote-branch", "master", `Name of the remote branch the CL pertains to.`)
+	cmdCLMail.Flags.StringVar(&remoteBranchFlag, "remote-branch", "master", `Name of the remote branch the CL pertains to, without the leading "origin/".`)
 	cmdCLMail.Flags.StringVar(&reviewersFlag, "r", "", `Comma-seperated list of emails or LDAPs to request review.`)
 	cmdCLMail.Flags.BoolVar(&setTopicFlag, "set-topic", true, `Set Gerrit CL topic.`)
 	cmdCLMail.Flags.StringVar(&topicFlag, "topic", "", `CL topic, defaults to <username>-<branchname>.`)
 	cmdCLMail.Flags.BoolVar(&uncommittedFlag, "check-uncommitted", true, `Check that no uncommitted changes exist.`)
 	cmdCLMail.Flags.BoolVar(&verifyFlag, "verify", true, `Run pre-push git hooks.`)
-	cmdCLSync.Flags.StringVar(&remoteBranchFlag, "remote-branch", "master", `Name of the remote branch the CL pertains to.`)
+	cmdCLSync.Flags.StringVar(&remoteBranchFlag, "remote-branch", "master", `Name of the remote branch the CL pertains to, without the leading "origin/".`)
 }
 
 func getCommitMessageFileName(jirix *jiri.X, branch string) (string, error) {
diff --git a/doc.go b/doc.go
index ed37295..0e3a622 100644
--- a/doc.go
+++ b/doc.go
@@ -78,7 +78,7 @@
  -f=false
    Ignore unmerged changes.
  -remote-branch=master
-   Name of the remote branch the CL pertains to.
+   Name of the remote branch the CL pertains to, without the leading "origin/".
 
  -color=true
    Use color to format output.
@@ -119,7 +119,7 @@
  -r=
    Comma-seperated list of emails or LDAPs to request review.
  -remote-branch=master
-   Name of the remote branch the CL pertains to.
+   Name of the remote branch the CL pertains to, without the leading "origin/".
  -set-topic=true
    Set Gerrit CL topic.
  -topic=
@@ -176,7 +176,7 @@
 
 The jiri cl sync flags are:
  -remote-branch=master
-   Name of the remote branch the CL pertains to.
+   Name of the remote branch the CL pertains to, without the leading "origin/".
 
  -color=true
    Use color to format output.
@@ -256,7 +256,8 @@
  -protocol=git
    The version control protocol used by the remote manifest project.
  -remote-branch=master
-   The branch of the remote manifest project to track.
+   The branch of the remote manifest project to track, without the leading
+   "origin/".
  -revision=HEAD
    The revision of the remote manifest project to reset to during "jiri update".
  -root=
diff --git a/import.go b/import.go
index 0463e8c..fc9ce35 100644
--- a/import.go
+++ b/import.go
@@ -28,7 +28,7 @@
 	cmdImport.Flags.StringVar(&flagImportName, "name", "", `The name of the remote manifest project, used to disambiguate manifest projects with the same remote.  Typically empty.`)
 	cmdImport.Flags.StringVar(&flagImportPath, "path", "", `Path to store the manifest project locally.  Uses "manifest" if unspecified.`)
 	cmdImport.Flags.StringVar(&flagImportProtocol, "protocol", "git", `The version control protocol used by the remote manifest project.`)
-	cmdImport.Flags.StringVar(&flagImportRemoteBranch, "remote-branch", "master", `The branch of the remote manifest project to track.`)
+	cmdImport.Flags.StringVar(&flagImportRemoteBranch, "remote-branch", "master", `The branch of the remote manifest project to track, without the leading "origin/".`)
 	cmdImport.Flags.StringVar(&flagImportRevision, "revision", "HEAD", `The revision of the remote manifest project to reset to during "jiri update".`)
 	cmdImport.Flags.StringVar(&flagImportRoot, "root", "", `Root to store the manifest project locally.`)
 
