diff --git a/src/centpkg/cli.py b/src/centpkg/cli.py
index 798ba11..61e3147 100755
--- a/src/centpkg/cli.py
+++ b/src/centpkg/cli.py
@@ -89,9 +89,10 @@ class centpkgClient(cliClient):
         )
 
         # assemble url of the repo in web browser
-        fork_url = '{0}/{1}/{2}'.format(
+        fork_url = '{0}/{1}/centos_{2}_{3}'.format(
             distgit_api_base_url.rstrip('/'),
             self.cmd.user,
+            self.cmd.ns,
             self.cmd.repo_name,
         )
 
diff --git a/src/centpkg/utils.py b/src/centpkg/utils.py
index 634e8bb..4da4f78 100644
--- a/src/centpkg/utils.py
+++ b/src/centpkg/utils.py
@@ -40,7 +40,12 @@ def do_fork(logger, base_url, token, repo_name, namespace, cli_name):
         'Accept': 'application/json',
         'Content-Type': 'application/json'
     }
-    payload = json.dumps({})
+    # define a new repository name/path to avoid collision with other projects
+    safe_name = "centos_{0}_{1}".format(namespace, repo_name)
+    payload = json.dumps({
+        'name': safe_name,  # name of the project after forking
+        'path': safe_name,
+    })
     try:
         rv = requests.post(
             fork_url, headers=headers, data=payload, timeout=60)
@@ -84,10 +89,11 @@ def do_add_remote(base_url, remote_base_url, username, repo, repo_name,
     :return: a bool; True if remote was created, False when already exists
     """
     parsed_url = urlparse(remote_base_url)
-    remote_url = '{0}://{1}/{2}/{3}.git'.format(
+    remote_url = '{0}://{1}/{2}/centos_{3}_{4}.git'.format(
         parsed_url.scheme,
         parsed_url.netloc,
         username,
+        namespace,
         repo_name,
     )