diff --git a/bin/is b/bin/is
index 81c8868b110b210a65bbc776bea50153fc1f2e7d..3bf0872d9599aeff6230ec991db5027a4a95110b 100755
--- a/bin/is
+++ b/bin/is
@@ -67,13 +67,17 @@ def c_init(parser, args):
     '''
     Create a empty repository
     '''
-    repoman = load_repositories(args)
-    if len(repoman) == 0:
-        raise Exception("No repository selected")
-    elif len(repoman) > 1:
-        raise Exception("Please select only one repository")
-    Repository.create(repoman[0])
-    debug("Repository: %s" % repoman[0])
+    # we cannot use load_repositories because repo doesn't exists
+    if args.repo_path is not None:
+        # from command line
+        Repository.create(RepositoryConfig(None, path=args.repo_path))
+    else:
+        # from config
+        for repoconf in RepoConfigFile(args.repo_config).repos:
+            # filtering on repository name if present
+            if args.repo_filter is not None and repoconf.name != args.repo_filter:
+                continue
+            Repository.create(repoconf)
 
 def c_add(parser, args):
     '''