diff --git a/manifest_xml.py b/manifest_xml.py
index 022cad2..02f09db 100644
--- a/manifest_xml.py
+++ b/manifest_xml.py
@@ -243,12 +243,13 @@
     manifestFile = parent.SubmanifestInfoDir(
         os.path.join(parent.path_prefix, self.relpath),
         os.path.join('manifests', manifestName or 'default.xml'))
+    linkFile = parent.SubmanifestInfoDir(
+        os.path.join(parent.path_prefix, self.relpath), MANIFEST_FILE_NAME)
     rc = self.repo_client = RepoClient(
-        parent.repodir, manifestFile, parent_groups=','.join(groups) or '',
+        parent.repodir, linkFile, parent_groups=','.join(groups) or '',
         submanifest_path=self.relpath, outer_client=outer_client)
 
-    self.present = os.path.exists(os.path.join(self.repo_client.subdir,
-                                               MANIFEST_FILE_NAME))
+    self.present = os.path.exists(manifestFile)
 
   def __eq__(self, other):
     if not isinstance(other, _XmlSubmanifest):
@@ -1051,7 +1052,7 @@
               tree.present = present
             elif not os.path.exists(self.subdir):
               tree.present = False
-          if tree.present:
+          if present and tree.present:
             tree.repo_client._Load(initial_client=initial_client,
                                    submanifest_depth=submanifest_depth + 1)
 
diff --git a/project.py b/project.py
index 6d8784e..a60a858 100644
--- a/project.py
+++ b/project.py
@@ -32,10 +32,11 @@
 from git_command import GitCommand, git_require
 from git_config import GitConfig, IsId, GetSchemeFromUrl, GetUrlCookieFile, \
     ID_RE
+from git_trace2_event_log import EventLog
 from error import GitError, UploadError, DownloadError
 from error import ManifestInvalidRevisionError, ManifestInvalidPathError
 from error import NoManifestException, ManifestParseError
-import git_superproject
+from git_superproject import Superproject
 import platform_utils
 import progress
 from repo_trace import IsTrace, Trace
@@ -3361,7 +3362,7 @@
   @property
   def standalone_manifest_url(self):
     """The URL of the standalone manifest, or None."""
-    return self.config.getString('manifest.standalone')
+    return self.config.GetString('manifest.standalone')
 
   @property
   def manifest_groups(self):
@@ -3444,8 +3445,8 @@
            partial_clone=None, depth=None, clone_filter='blob:none',
            partial_clone_exclude=None, clone_bundle=None, git_lfs=None,
            use_superproject=None, verbose=False, current_branch_only=False,
-           platform='', tags='', manifest_name='default.xml',
-           this_manifest_only=False, outer_manifest=True):
+           git_event_log=None, platform='', manifest_name='default.xml',
+           tags='', this_manifest_only=False, outer_manifest=True):
     """Sync the manifest and all submanifests.
 
     Args:
@@ -3478,6 +3479,7 @@
           branch from the server.
       platform: a string, restrict the checkout to projects with the specified
           platform group.
+      git_event_log: an EventLog, for git tracing.
       tags: a boolean, whether to fetch tags.,
       manifest_name: a string, the name of the manifest file to use.
       this_manifest_only: a boolean, whether to only operate on the current sub
@@ -3489,6 +3491,7 @@
     """
     assert _kwargs_only == (), 'Sync only accepts keyword arguments.'
 
+    git_event_log = git_event_log or EventLog()
     if outer_manifest and self.manifest.is_submanifest:
       # In a multi-manifest checkout, use the outer manifest unless we are told
       # not to.
@@ -3514,6 +3517,7 @@
           current_branch_only=current_branch_only,
           tags=tags,
           depth=depth,
+          git_event_log=git_event_log,
           manifest_name=manifest_name,
           this_manifest_only=this_manifest_only,
           outer_manifest=False)
@@ -3670,7 +3674,7 @@
       self.config.SetBoolean('repo.partialclone', partial_clone)
       if clone_filter:
         self.config.SetString('repo.clonefilter', clone_filter)
-    elif self.partialclone:
+    elif self.partial_clone:
       clone_filter = self.clone_filter
     else:
       clone_filter = None
@@ -3747,52 +3751,51 @@
       print('fatal: %s' % str(e), file=sys.stderr)
       return False
 
-    # Lastly, clone the superproject.
-    superproject = git_superproject.Superproject(self.manifest,
-                                                 self.repodir,
-                                                 self.git_event_log,
-                                                 quiet=not verbose)
-    sync_result = superproject.Sync()
-    if not sync_result.success:
-      print('warning: git update of superproject failed, repo sync will not '
-            'use superproject to fetch source; while this error is not fatal, '
-            'and you can continue to run repo sync, please run repo init with '
-            'the --no-use-superproject option to stop seeing this warning',
-            file=sys.stderr)
-      if sync_result.fatal and use_superproject is not None:
-        return False
+    if not this_manifest_only:
+      for submanifest in self.manifest.submanifests.values():
+        spec = submanifest.ToSubmanifestSpec(root=self.manifest.outer_client)
+        submanifest.repo_client.manifestProject.Sync(
+            manifest_url=spec.manifestUrl,
+            manifest_branch=spec.revision,
+            standalone_manifest=standalone_manifest,
+            groups=self.manifest_groups,
+            platform=platform,
+            mirror=mirror,
+            dissociate=dissociate,
+            reference=reference,
+            worktree=worktree,
+            submodules=submodules,
+            archive=archive,
+            partial_clone=partial_clone,
+            clone_filter=clone_filter,
+            partial_clone_exclude=partial_clone_exclude,
+            clone_bundle=clone_bundle,
+            git_lfs=git_lfs,
+            use_superproject=use_superproject,
+            verbose=verbose,
+            current_branch_only=current_branch_only,
+            tags=tags,
+            depth=depth,
+            git_event_log=git_event_log,
+            manifest_name=spec.manifestName,
+            this_manifest_only=False,
+            outer_manifest=False,
+        )
 
-    if this_manifest_only:
-      return True
-
-    for submanifest in self.manifest.submanifests.values():
-      spec = submanifest.ToSubmanifestSpec(root=self.manifest.outer_client)
-      submanifest.repo_client.manifestProject.Sync(
-          manifest_url=spec.manifestUrl,
-          manifest_branch=spec.revision,
-          standalone_manifest=standalone_manifest,
-          groups=self.manifest_groups,
-          platform=platform,
-          mirror=mirror,
-          dissociate=dissociate,
-          reference=reference,
-          worktree=worktree,
-          submodules=submodules,
-          archive=archive,
-          partial_clone=partial_clone,
-          clone_filter=clone_filter,
-          partial_clone_exclude=partial_clone_exclude,
-          clone_bundle=clone_bundle,
-          git_lfs=git_lfs,
-          use_superproject=use_superproject,
-          verbose=verbose,
-          current_branch_only=current_branch_only,
-          tags=tags,
-          depth=depth,
-          manifest_name=spec.manifestName,
-          this_manifest_only=False,
-          outer_manifest=False,
-      )
+    # Lastly, clone the superproject(s).
+    if outer_manifest and not self.manifest.is_submanifest:
+      for m in self.manifest.all_manifests:
+        sync_result = Superproject(
+            m, m.repodir, git_event_log, quiet=not verbose).Sync()
+        if not sync_result.success:
+          print(f'warning: git update of superproject for {m.path_prefix} failed, '
+                'repo sync will not '
+                'use superproject to fetch source; while this error is not fatal, '
+                'and you can continue to run repo sync, please run repo init with '
+                'the --no-use-superproject option to stop seeing this warning',
+                file=sys.stderr)
+          if sync_result.fatal and use_superproject is not None:
+            return False
 
     return True
 
diff --git a/subcmds/init.py b/subcmds/init.py
index 2cb3ff3..65b63ef 100644
--- a/subcmds/init.py
+++ b/subcmds/init.py
@@ -135,6 +135,7 @@
         current_branch_only=opt.current_branch_only,
         tags=opt.tags,
         depth=opt.depth,
+        git_event_log=self.git_event_log,
         manifest_name=opt.manifest_name):
       sys.exit(1)
 
