diff --git a/git_superproject.py b/git_superproject.py
index 4ca84a5..237e57e 100644
--- a/git_superproject.py
+++ b/git_superproject.py
@@ -32,7 +32,6 @@
 from git_command import git_require, GitCommand
 from git_config import RepoConfig
 from git_refs import R_HEADS
-from manifest_xml import LOCAL_MANIFEST_GROUP_PREFIX
 
 _SUPERPROJECT_GIT_NAME = 'superproject.git'
 _SUPERPROJECT_MANIFEST_NAME = 'superproject_override.xml'
@@ -311,7 +310,7 @@
     if project.revisionId:
       return True
     # Skip the project if it comes from the local manifest.
-    return any(s.startswith(LOCAL_MANIFEST_GROUP_PREFIX) for s in project.groups)
+    return project.manifest.IsFromLocalManifest(project)
 
   def UpdateProjectsRevisionId(self, projects):
     """Update revisionId of every project in projects with the commit id.
diff --git a/manifest_xml.py b/manifest_xml.py
index daf85d3..7c5906d 100644
--- a/manifest_xml.py
+++ b/manifest_xml.py
@@ -650,6 +650,12 @@
   def HasLocalManifests(self):
     return self._load_local_manifests and self.local_manifests
 
+  def IsFromLocalManifest(self, project):
+    """Is the project from a local manifest?
+    """
+    return any(x.startswith(LOCAL_MANIFEST_GROUP_PREFIX)
+               for x in project.groups)
+
   @property
   def IsMirror(self):
     return self.manifestProject.config.GetBoolean('repo.mirror')
