diff --git a/src/main/scripts/unix/facility/facility-download-aterm-script-url-create b/src/main/scripts/unix/facility/facility-download-aterm-script-url-create
index ba172e1db9c80f2f4bea3a66ee6a0c60d363158c..cc13864cab0ab3cd23090c33c7096002f1a582cb 100755
--- a/src/main/scripts/unix/facility/facility-download-aterm-script-url-create
+++ b/src/main/scripts/unix/facility/facility-download-aterm-script-url-create
@@ -127,16 +127,10 @@ fi
 COMMAND="${COMMAND} :download <"
 for ns in "${NAMESPACES[@]}"
 do
-    if [[ "${ns}" =~ ^${NAMESPACE_ROOT}/.* ]]; then
-        path=${ns#$NAMESPACE_ROOT/} # remove leading root namespace
-        IFS='/' read -r -a array <<< "${path}"
-        prj="${array[0]}"
-    else
-        path=${ns#*/}   # remove leading slash
-        IFS='/' read -r -a array <<< "${path}"
-        prj="${array[0]}"
-        ns="${NAMESPACE_ROOT}/${path}" # get full path of the namespace
-    fi
+    prj=$(echo $ns | sed -n 's/.*\/\(proj-[^\/]*\)\/.*/\1/p')
+    [[ -z "${prj}" ]] && prj=$(echo $ns | sed -n 's/^\(proj-[^\/]*\)\/.*/\1/p')
+    [[ -z "${prj}" ]] && echo "Failed to resolve project id from path: ${ns}" && exit 1
+
     if [[ -z ${PROJECT} ]]; then
         PROJECT=${prj}
         ROLE="${PROJECT}:participant-a"
@@ -148,6 +142,11 @@ do
             exit 1
         fi
     fi
+
+    if ! [[ "${ns}" =~ ^/.* ]]; then
+        # relative path
+        ns="${NAMESPACE_ROOT}/${ns}"
+    fi
     COMMAND="${COMMAND} :namespace ${ns}"
 done
 COMMAND="${COMMAND} :token < :role -type role ${ROLE} :to now+${EXPIRE_DAYS}day > :ncsr ${NCSR} :verbose ${VERBOSE} :overwrite ${OVERWRITE}"
diff --git a/src/main/scripts/unix/facility/facility-download-shell-script-url-create b/src/main/scripts/unix/facility/facility-download-shell-script-url-create
index f15b7686f48c0909328ae7715d16909112997881..6dea385424bfb2d937483f74af4fd9028e76d648 100755
--- a/src/main/scripts/unix/facility/facility-download-shell-script-url-create
+++ b/src/main/scripts/unix/facility/facility-download-shell-script-url-create
@@ -120,16 +120,10 @@ fi
 COMMAND="${COMMAND} :download <"
 for ns in "${NAMESPACES[@]}"
 do
-    if [[ "${ns}" =~ ^${NAMESPACE_ROOT}/.* ]]; then
-        path=${ns#$NAMESPACE_ROOT/} # remove leading root namespace
-        IFS='/' read -r -a array <<< "${path}"
-        prj="${array[0]}"
-    else
-        path=${ns#*/}   # remove leading slash
-        IFS='/' read -r -a array <<< "${path}"
-        prj="${array[0]}"
-        ns="${NAMESPACE_ROOT}/${path}" # get full path of the namespace
-    fi
+    prj=$(echo $ns | sed -n 's/.*\/\(proj-[^\/]*\)\/.*/\1/p')
+    [[ -z "${prj}" ]] && prj=$(echo $ns | sed -n 's/^\(proj-[^\/]*\)\/.*/\1/p')
+    [[ -z "${prj}" ]] && echo "Failed to resolve project id from path: ${ns}" && exit 1
+
     if [[ -z ${PROJECT} ]]; then
         PROJECT=${prj}
         ROLE="${PROJECT}:participant-a"
@@ -141,6 +135,11 @@ do
             exit 1
         fi
     fi
+
+    if ! [[ "${ns}" =~ ^/.* ]]; then
+        # relative path
+        ns="${NAMESPACE_ROOT}/${ns}"
+    fi
     COMMAND="${COMMAND} :namespace \"${ns}"\"
 done
 COMMAND="${COMMAND} :token < :role -type role ${ROLE} :to now+${EXPIRE_DAYS}day > :verbose ${VERBOSE} :overwrite ${OVERWRITE}"