diff --git a/subcmds/init.py b/subcmds/init.py
index b5207fb..cdbbfdf 100644
--- a/subcmds/init.py
+++ b/subcmds/init.py
@@ -21,6 +21,7 @@
 from error import ManifestParseError
 from project import SyncBuffer
 from git_command import git_require, MIN_GIT_VERSION
+from manifest_submodule import SubmoduleManifest
 from manifest_xml import XmlManifest
 from subcmds.sync import _ReloadManifest
 
@@ -144,6 +145,14 @@
       print >>sys.stderr, 'fatal: cannot obtain manifest %s' % r.url
       sys.exit(1)
 
+    if is_new and SubmoduleManifest.IsBare(m):
+      new = self.GetManifest(reparse=True, type=SubmoduleManifest)
+      if m.gitdir != new.manifestProject.gitdir:
+        os.rename(m.gitdir, new.manifestProject.gitdir)
+        new = self.GetManifest(reparse=True, type=SubmoduleManifest)
+      m = new.manifestProject
+      self._ApplyOptions(opt, is_new)
+
     if not is_new:
       # Force the manifest to load if it exists, the old graph
       # may be needed inside of _ReloadManifest().
diff --git a/subcmds/manifest.py b/subcmds/manifest.py
index 551b13b..7a8b2ee 100644
--- a/subcmds/manifest.py
+++ b/subcmds/manifest.py
@@ -22,7 +22,7 @@
 def _doc(name):
   r = os.path.dirname(__file__)
   r = os.path.dirname(r)
-  fd = open(os.path.join(r, 'docs', 'manifest_xml.txt'))
+  fd = open(os.path.join(r, 'docs', name))
   try:
     return fd.read()
   finally:
@@ -48,6 +48,8 @@
     help = ''
     if isinstance(self.manifest, XmlManifest):
       help += self._xmlHelp + '\n' + _doc('manifest_xml.txt')
+    if isinstance(self.manifest, SubmoduleManifest):
+      help += _doc('manifest_submodule.txt')
     return help
 
   def _Options(self, p):
