diff --git a/project.py b/project.py
index 914e0b1..b973085 100644
--- a/project.py
+++ b/project.py
@@ -1101,6 +1101,18 @@
     gitcmd = GitCommand(self, cmd, bare=True)
     ret = gitcmd.Wait()
 
+  def _CreateRemoteBranch(self, branch, revid):
+    remote = self.GetRemote(self.remote.name)
+    try:
+      self.work_git.rev_parse(remote.ToLocal(branch))
+    except GitError:
+      ref = os.path.join(self.gitdir, remote.ToLocal(branch))
+      try:
+        os.makedirs(os.path.dirname(ref))
+      except OSError:
+        pass
+      _lwrite(ref, '%s\n' % revid)
+
   def _ExtractArchive(self, tarpath, path=None):
     """Extract the given tar on its current location
 
@@ -1843,6 +1855,8 @@
 
       if is_sha1 or tag_name is not None:
         if self._CheckForSha1():
+          if self.upstream:          
+            self._CreateRemoteBranch(self.upstream, self.revisionExpr)
           return True
       if is_sha1 and not depth:
         # When syncing a specific commit and --depth is not set:
