diff --git a/manifest.py b/manifest.py
index a2fc960..f737e86 100644
--- a/manifest.py
+++ b/manifest.py
@@ -15,6 +15,7 @@
 
 import os
 
+from error import ManifestParseError
 from editor import Editor
 from git_config import GitConfig
 from project import MetaProject
@@ -45,3 +46,6 @@
 
   def SetMRefs(self, project):
     pass
+
+  def Upgrade_Local(self, old):
+    raise ManifestParseError, 'unsupported upgrade path'
diff --git a/subcmds/init.py b/subcmds/init.py
index 53c3a01..b5207fb 100644
--- a/subcmds/init.py
+++ b/subcmds/init.py
@@ -22,6 +22,7 @@
 from project import SyncBuffer
 from git_command import git_require, MIN_GIT_VERSION
 from manifest_xml import XmlManifest
+from subcmds.sync import _ReloadManifest
 
 class Init(InteractiveCommand, MirrorSafeCommand):
   common = True
@@ -143,9 +144,17 @@
       print >>sys.stderr, 'fatal: cannot obtain manifest %s' % r.url
       sys.exit(1)
 
+    if not is_new:
+      # Force the manifest to load if it exists, the old graph
+      # may be needed inside of _ReloadManifest().
+      #
+      self.manifest.projects
+
     syncbuf = SyncBuffer(m.config)
     m.Sync_LocalHalf(syncbuf)
     syncbuf.Finish()
+    _ReloadManifest(self)
+    self._ApplyOptions(opt, is_new)
 
     if not self.manifest.InitBranch():
       print >>sys.stderr, 'fatal: cannot create branch in manifest'
diff --git a/subcmds/sync.py b/subcmds/sync.py
index 1537c9a..5fc834d 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -215,8 +215,9 @@
         mp.Sync_LocalHalf(syncbuf)
         if not syncbuf.Finish():
           sys.exit(1)
+        _ReloadManifest(self)
+        mp = self.manifest.manifestProject
 
-        self.GetManifest(reparse=True)
         all = self.GetProjects(args, missing_ok=True)
         missing = []
         for project in all:
@@ -243,6 +244,13 @@
     if not syncbuf.Finish():
       sys.exit(1)
 
+def _ReloadManifest(cmd):
+  old = cmd.manifest
+  new = cmd.GetManifest(reparse=True)
+
+  if old.__class__ != new.__class__:
+    print >>sys.stderr, 'NOTICE: manifest format has changed  ***'
+    new.Upgrade_Local(old)
 
 def _PostRepoUpgrade(manifest):
   for project in manifest.projects.values():
