diff --git a/iocBoot/iocxxx/softioc/xxx.sh b/iocBoot/iocxxx/softioc/xxx.sh
index b5fae26c1c2fdcaae723e5058082ef296e4d6e9f..127b93c05f143a5d72ac430e588a7a1172aba9bb 100755
--- a/iocBoot/iocxxx/softioc/xxx.sh
+++ b/iocBoot/iocxxx/softioc/xxx.sh
@@ -40,7 +40,7 @@ PS=ps
 
 #####################################################################
 
-SNAME=$0
+SNAME=${BASH_SOURCE:-$0}
 SELECTION=$1
 
 if [ -z "$IOC_STARTUP_DIR" ]
diff --git a/start_MEDM_xxx b/start_MEDM_xxx
index 07025715165dedd595a3f78b8b10d44d7f4dc847..5d43e088930083bfb2fc6af4f8b466dd8b53a360 100755
--- a/start_MEDM_xxx
+++ b/start_MEDM_xxx
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-export EPICS_APP=`dirname $0`
+export EPICS_APP=`dirname ${BASH_SOURCE:-$0}`
 export EPICS_APP_ADL_DIR=${EPICS_APP}/xxxApp/op/adl
 export DEFAULT_UI_FILE=${DEFAULT_UI_FILE:-xxx.adl}
 
diff --git a/start_caQtDM_xxx b/start_caQtDM_xxx
index e42c3ff81fc96d561ab7bde44a1f5e51c49516ed..8b5ffa7ee603a1491c1f038e625f567be3603f87 100755
--- a/start_caQtDM_xxx
+++ b/start_caQtDM_xxx
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-export EPICS_APP=`dirname $0`
+export EPICS_APP=`dirname ${BASH_SOURCE:-$0}`
 export EPICS_APP_UI_DIR=${EPICS_APP}/xxxApp/op/ui
 export DEFAULT_UI_FILE=${DEFAULT_UI_FILE:-xxx.ui}