diff --git a/subcmds/gitc_init.py b/subcmds/gitc_init.py
index 4f9d734..2726eae 100644
--- a/subcmds/gitc_init.py
+++ b/subcmds/gitc_init.py
@@ -21,6 +21,7 @@
 from command import GitcAvailableCommand
 from manifest_xml import GitcManifest
 from subcmds import init
+import wrapper
 
 
 class GitcInit(init.Init, GitcAvailableCommand):
@@ -55,18 +56,15 @@
                  help='Optional manifest file to use for this GITC client.')
     g.add_option('-c', '--gitc-client',
                  dest='gitc_client',
-                 help='The name for the new gitc_client instance.')
+                 help='The name of the gitc_client instance to create or modify.')
 
   def Execute(self, opt, args):
-    if not opt.gitc_client:
-      print('fatal: gitc client (-c) is required', file=sys.stderr)
+    gitc_client = gitc_utils.parse_clientdir(os.getcwd())
+    if not gitc_client or (opt.gitc_client and gitc_client != opt.gitc_client):
+      print('fatal: Please update your repo command. See go/gitc for instructions.', file=sys.stderr)
       sys.exit(1)
     self.client_dir = os.path.join(gitc_utils.get_gitc_manifest_dir(),
-                                   opt.gitc_client)
-    if not os.path.exists(gitc_utils.get_gitc_manifest_dir()):
-      os.makedirs(gitc_utils.get_gitc_manifest_dir())
-    if not os.path.exists(self.client_dir):
-      os.mkdir(self.client_dir)
+                                   gitc_client)
     super(GitcInit, self).Execute(opt, args)
 
     manifest_file = self.manifest.manifestFile
@@ -77,8 +75,8 @@
         sys.exit(1)
       manifest_file = opt.manifest_file
 
-    manifest = GitcManifest(self.repodir, opt.gitc_client)
+    manifest = GitcManifest(self.repodir, gitc_client)
     manifest.Override(manifest_file)
     gitc_utils.generate_gitc_manifest(None, manifest)
     print('Please run `cd %s` to view your GITC client.' %
-          os.path.join(gitc_utils.GITC_FS_ROOT_DIR, opt.gitc_client))
+          os.path.join(wrapper.Wrapper().GITC_FS_ROOT_DIR, gitc_client))
