diff --git a/cmake/thisdd4hep.sh b/cmake/thisdd4hep.sh
index 7bc7d1317b35d1518499c79250e1d302093c48a7..c1387a926bf613f5d8a8e989c091b1413956c047 100644
--- a/cmake/thisdd4hep.sh
+++ b/cmake/thisdd4hep.sh
@@ -34,7 +34,7 @@ dd4hep_add_path()   {
     local path_prefix=${2}
     eval path_value=\$$path_name
     # Prevent duplicates
-    path_value=`echo ${path_value} | tr : '\n' | grep -v "${path_prefix}" | tr '\n' : | sed 's|:$||'`
+    path_value=`echo ${path_value} | tr : '\n' | grep -v "^${path_prefix}$" | tr '\n' : | sed 's|:$||'`
     path_value="${path_prefix}${path_value:+:${path_value}}"
     eval export ${path_name}='${path_value}'
     unset path_value
diff --git a/cmake/thisdd4hep_only.sh b/cmake/thisdd4hep_only.sh
index b76ca88f6f535a3a254a7669a2b29c49a4532770..984e7bbb5bd410096e69da9d0b3c9a27a596f35e 100644
--- a/cmake/thisdd4hep_only.sh
+++ b/cmake/thisdd4hep_only.sh
@@ -36,7 +36,7 @@ dd4hep_add_path()   {
     local path_prefix=${2}
     eval path_value=\$$path_name
     # Prevent duplicates
-    path_value=`echo ${path_value} | tr : '\n' | grep -v "${path_prefix}" | tr '\n' : | sed 's|:$||'`
+    path_value=`echo ${path_value} | tr : '\n' | grep -v "^${path_prefix}$" | tr '\n' : | sed 's|:$||'`
     path_value="${path_prefix}${path_value:+:${path_value}}"
     eval export ${path_name}='${path_value}'
     unset path_value