diff --git a/cmake/thisdd4hep.sh b/cmake/thisdd4hep.sh
index f303868c4bb820cc2fd24b08858b46bad953ee2d..35d09971f5d9c1bfc3809cbacf2d5373a30f3995 100644
--- a/cmake/thisdd4hep.sh
+++ b/cmake/thisdd4hep.sh
@@ -34,14 +34,9 @@ dd4hep_add_path()   {
     path_name=${1}
     path_prefix=${2}
     eval path_value=\$$path_name
-    if [ "${path_value}" ]; then
-        # Prevent duplicates
-        if ! echo ${path_value} | tr : '\n' | grep -q "^${path_prefix}$"; then
-            path_value="${path_prefix}:${path_value}"
-        fi
-    else
-	path_value="${path_prefix}"
-    fi; 
+    # Prevent duplicates
+    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_name path_prefix path_value
 }
diff --git a/cmake/thisdd4hep_only.sh b/cmake/thisdd4hep_only.sh
index a3f79bd11623d2e9347bf1b379ade33f0fb66e43..3f6314a6c9e02e56bd08f76ec01905dd11c4a4f4 100644
--- a/cmake/thisdd4hep_only.sh
+++ b/cmake/thisdd4hep_only.sh
@@ -36,14 +36,9 @@ dd4hep_add_path()   {
     path_name=${1}
     path_prefix=${2}
     eval path_value=\$$path_name
-    if [ "${path_value}" ]; then
-        # Prevent duplicates
-        if ! echo ${path_value} | tr : '\n' | grep -q "^${path_prefix}$"; then
-            path_value="${path_prefix}:${path_value}"
-        fi
-    else
-	path_value="${path_prefix}"
-    fi;
+    # Prevent duplicates
+    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_name path_prefix path_value
 }