diff --git a/command.py b/command.py
index 5ca43f2..9e970e8 100644
--- a/command.py
+++ b/command.py
@@ -62,8 +62,10 @@
   def manifest(self):
     return self.GetManifest()
 
-  def GetManifest(self, reparse=False):
-    return manifest_loader.GetManifest(self.repodir, reparse)
+  def GetManifest(self, reparse=False, type=None):
+    return manifest_loader.GetManifest(self.repodir,
+                                       reparse=reparse,
+                                       type=type)
 
   def GetProjects(self, args, missing_ok=False):
     """A list of projects that match the arguments.
diff --git a/manifest_loader.py b/manifest_loader.py
index 85ad3ea..1ce1c1f 100644
--- a/manifest_loader.py
+++ b/manifest_loader.py
@@ -15,13 +15,17 @@
 
 from manifest_xml import XmlManifest
 
-def ParseManifest(repodir):
+def ParseManifest(repodir, type=None):
+  if type:
+    return type(repodir)
   return XmlManifest(repodir)
 
 _manifest = None
 
-def GetManifest(repodir, reparse=False):
+def GetManifest(repodir, reparse=False, type=None):
   global _manifest
-  if _manifest is None or reparse:
-    _manifest = ParseManifest(repodir)
+  if _manifest is None \
+  or reparse \
+  or (type and _manifest.__class__ != type):
+    _manifest = ParseManifest(repodir, type=type)
   return _manifest
