diff --git a/subcmds/start.py b/subcmds/start.py
index 940c341..188fd7c 100644
--- a/subcmds/start.py
+++ b/subcmds/start.py
@@ -57,6 +57,7 @@
         print("error: at least one project must be specified", file=sys.stderr)
         sys.exit(1)
 
+    proj_name_to_gitc_proj_dict = {}
     if self.gitc_manifest:
       all_projects = self.GetProjects(projects, manifest=self.gitc_manifest,
                                       missing_ok=True)
@@ -66,6 +67,7 @@
         else:
           project.already_synced = False
           project.old_revision = project.revisionExpr
+        proj_name_to_gitc_proj_dict[project.name] = project
         project.revisionExpr = None
       # Save the GITC manifest.
       gitc_utils.save_manifest(self.gitc_manifest)
@@ -75,10 +77,9 @@
     pm = Progress('Starting %s' % nb, len(all_projects))
     for project in all_projects:
       pm.update()
-
       if self.gitc_manifest:
-        gitc_project = self.gitc_manifest.paths[project.relpath]
-        # Sync projects that have not been opened.
+        gitc_project = proj_name_to_gitc_proj_dict[project.name]
+        # Sync projects that have already been opened.
         if not gitc_project.already_synced:
           proj_localdir = os.path.join(self.gitc_manifest.gitc_client_dir,
                                        project.relpath)
@@ -88,7 +89,7 @@
           project.Sync_NetworkHalf()
           sync_buf = SyncBuffer(self.manifest.manifestProject.config)
           project.Sync_LocalHalf(sync_buf)
-          project.revisionId = gitc_project.old_revision
+          project.revisionExpr = gitc_project.old_revision
 
       # If the current revision is a specific SHA1 then we can't push back
       # to it; so substitute with dest_branch if defined, or with manifest
@@ -99,7 +100,6 @@
           branch_merge = project.dest_branch
         else:
           branch_merge = self.manifest.default.revisionExpr
-
       if not project.StartBranch(nb, branch_merge=branch_merge):
         err.append(project)
     pm.end()
