diff --git a/clone.sh b/clone.sh
index 536c16a..72548c9 100755
--- a/clone.sh
+++ b/clone.sh
@@ -30,6 +30,7 @@
 set -e
 
 . $(dirname $0)/utils/util_git.sh
+. $(dirname $0)/utils/util_parse_version.sh
 
 # Take into consideration non-CI runs where SHARE_FOLDER variable
 # may not be present
@@ -44,21 +45,6 @@
 echo "Share Folder path: ${SHARE_FOLDER}"
 echo
 
-# Parse dependency version specified in TF-M CMake configs
-function parse_version() {
-    CONFIG_FILE_NAME=$1
-    DEPENDENCY_NAME=$2
-    CONFIG_FILE_PATH="${SHARE_FOLDER}/${TFM_NAME}/${CONFIG_FILE_NAME}"
-
-    VERSION="$(grep "set(${DEPENDENCY_NAME}" ${CONFIG_FILE_PATH} | cut -d\" -f2)"
-
-    if [ -z "${VERSION}" ]; then
-        VERSION="refs/heads/main"
-    fi
-
-    echo "${VERSION}"
-}
-
 # Must projects
 if [ -n "${GERRIT_EVENT_HASH}" ]; then
     # If triggered by Gerrit, use its variables
@@ -102,15 +88,15 @@
 
 # Dependency projects
 TFM_TESTS_PROJECT="${TFM_TESTS_URL:-}"
-TFM_TESTS_REFSPEC="${TFM_TESTS_REFSPEC:-"$(parse_version lib/ext/tf-m-tests/repo_config_default.cmake TFM_TEST_REPO_VERSION)"}"
+TFM_TESTS_REFSPEC="${TFM_TESTS_REFSPEC:-"$(parse_version lib/ext/tf-m-tests/version.txt version= = 2)"}"
 TFM_TESTS_NAME="tf-m-tests"
 
 MBEDTLS_PROJECT="${MBEDTLS_URL:-}"
-MBEDTLS_REFSPEC="${MBEDTLS_VERSION:-"$(parse_version config/config_base.cmake MBEDCRYPTO_VERSION)"}"
+MBEDTLS_REFSPEC="${MBEDTLS_VERSION:-"$(parse_version config/config_base.cmake set\(MBEDCRYPTO_VERSION \" 2)"}"
 MBEDTLS_NAME="mbedtls"
 
 MCUBOOT_PROJECT="${MCUBOOT_URL:-}"
-MCUBOOT_REFSPEC="${MCUBOOT_REFSPEC:-"$(parse_version config/config_base.cmake MCUBOOT_VERSION)"}"
+MCUBOOT_REFSPEC="${MCUBOOT_REFSPEC:-"$(parse_version config/config_base.cmake set\(MCUBOOT_VERSION \" 2)"}"
 MCUBOOT_NAME="mcuboot"
 
 PSA_ARCH_TESTS_PROJECT="${PSA_ARCH_TESTS_URL:-}"
@@ -118,11 +104,11 @@
 PSA_ARCH_TESTS_NAME="psa-arch-tests"
 
 QCBOR_PROJECT="${QCBOR_URL:-}"
-QCBOR_REFSPEC="${QCBOR_VERSION:-"$(parse_version lib/ext/qcbor/CMakeLists.txt QCBOR_VERSION)"}"
+QCBOR_REFSPEC="${QCBOR_VERSION:-"$(parse_version lib/ext/qcbor/CMakeLists.txt set\(QCBOR_VERSION \" 2)"}"
 QCBOR_NAME="qcbor"
 
 TFM_EXTRAS_PROJECT="${TFM_EXTRAS_URL:-}"
-TFM_EXTRAS_REFSPEC="${TFM_EXTRAS_REFSPEC:-"$(parse_version lib/ext/tf-m-extras/CMakeLists.txt TFM_EXTRAS_REPO_VERSION)"}"
+TFM_EXTRAS_REFSPEC="${TFM_EXTRAS_REFSPEC:-"$(parse_version lib/ext/tf-m-extras/CMakeLists.txt set\(TFM_EXTRAS_REPO_VERSION \" 2)"}"
 TFM_EXTRAS_NAME="tf-m-extras"
 
 QA_TOOLS_PROJECT="https://review.trustedfirmware.org/ci/qa-tools"
diff --git a/utils/util_parse_version.sh b/utils/util_parse_version.sh
new file mode 100644
index 0000000..51d73e2
--- /dev/null
+++ b/utils/util_parse_version.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2023 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+# Parse dependency version from file
+# Input parameters:
+#     RELATIVE_PATH:  Relative path to the dependency version config file in TF-M
+#     PATTERN:        Pattern used to search for the line containing target dependency version
+#     SEPARATOR:      Separator to split the string
+#     COMPONENT_NUM:  Decide which separated component is the dependency version
+function parse_version() {
+    RELATIVE_PATH=$1
+    PATTERN=$2
+    SEPARATOR=$3
+    COMPONENT_NUM=$4
+
+    ABSOLUTE_PATH="${SHARE_FOLDER}/${TFM_NAME}/${RELATIVE_PATH}"
+
+    VERSION="$(grep "${PATTERN}" ${ABSOLUTE_PATH} | cut -d${SEPARATOR} -f${COMPONENT_NUM})"
+
+    if [ -z "${VERSION}" ]; then
+        VERSION="refs/heads/main"
+    fi
+
+    echo "${VERSION}"
+}
