diff --git a/project.py b/project.py
index 0b7baee..5e20951 100644
--- a/project.py
+++ b/project.py
@@ -175,14 +175,12 @@
 
   def UploadForReview(self, people,
                       auto_topic=False,
-                      draft=False,
                       private=False,
                       wip=False,
                       dest_branch=None):
     self.project.UploadForReview(self.name,
                                  people,
                                  auto_topic=auto_topic,
-                                 draft=draft,
                                  private=private,
                                  wip=wip,
                                  dest_branch=dest_branch)
@@ -1110,7 +1108,6 @@
   def UploadForReview(self, branch=None,
                       people=([], []),
                       auto_topic=False,
-                      draft=False,
                       private=False,
                       wip=False,
                       dest_branch=None):
@@ -1156,12 +1153,7 @@
     if dest_branch.startswith(R_HEADS):
       dest_branch = dest_branch[len(R_HEADS):]
 
-    upload_type = 'for'
-    if draft:
-      upload_type = 'drafts'
-
-    ref_spec = '%s:refs/%s/%s' % (R_HEADS + branch.name, upload_type,
-                                  dest_branch)
+    ref_spec = '%s:refs/for/%s' % (R_HEADS + branch.name, dest_branch)
     if auto_topic:
       ref_spec = ref_spec + '/' + branch.name
 
diff --git a/subcmds/upload.py b/subcmds/upload.py
index 61b18bc..f40ac9d 100644
--- a/subcmds/upload.py
+++ b/subcmds/upload.py
@@ -152,8 +152,8 @@
                  dest='current_branch', action='store_true',
                  help='Upload current git branch.')
     p.add_option('-d', '--draft',
-                 action='store_true', dest='draft', default=False,
-                 help='If specified, upload as a draft.')
+                 action='store_true', dest='private', default=False,
+                 help='(Deprecated). If specified, upload as a private change.')
     p.add_option('-p', '--private',
                  action='store_true', dest='private', default=False,
                  help='If specified, upload as a private change.')
@@ -205,7 +205,7 @@
 
       destination = opt.dest_branch or project.dest_branch or project.revisionExpr
       print('Upload project %s/ to remote branch %s%s:' %
-            (project.relpath, destination, ' (draft)' if opt.draft else ''))
+            (project.relpath, destination, ' (private)' if opt.private else ''))
       print('  branch %s (%2d commit%s, %s):' % (
                     name,
                     len(commit_list),
@@ -386,7 +386,6 @@
 
         branch.UploadForReview(people,
                                auto_topic=opt.auto_topic,
-                               draft=opt.draft,
                                private=opt.private,
                                wip=opt.wip,
                                dest_branch=destination)
