diff --git a/python/LbDocker/__data/bin-lb-su b/python/LbDocker/__data/bin-lb-su
index 0e3ce1e4efade0facfeaf6fcd66ab408e4b19725..830d8c57771e1482e8f8f97fe24d1021fb5c7992 100755
--- a/python/LbDocker/__data/bin-lb-su
+++ b/python/LbDocker/__data/bin-lb-su
@@ -10,6 +10,16 @@ then
     export WORKSPACE_GROUP=`echo $WORK_USER | cut -d ":" -f 2`
     export WORKSPACE_USER=`echo $WORK_USER | cut -d ":" -f 1`
 
+    if [-z $WORK_USER_ID ]
+    then
+
+        export WORKSPACE_GROUP_ID=`stat -c %g $PWD`
+        export WORKSPACE_USER_ID=`stat -c %u $PWD`
+    else
+        export WORKSPACE_GROUP_ID=`echo $WORK_USER_ID | cut -d ":" -f 2`
+        export WORKSPACE_USER_ID=`echo $WORK_USER_ID | cut -d ":" -f 1`
+    fi
+
     dockerCP=false
     if [ -z $dockerHome ]
     then
@@ -26,10 +36,10 @@ then
     fi
 
     set -e
-    getent group $(stat -c %g $PWD) > /dev/null || groupadd -g $(stat -c %g $PWD) $WORKSPACE_GROUP
+    getent group $WORKSPACE_GROUP_ID > /dev/null || groupadd -g $WORKSPACE_GROUP_ID $WORKSPACE_GROUP
     if ! getent passwd $(stat -c %u $PWD) > /dev/null
     then
-        adduser -g $(stat -c %g $PWD) -u $(stat -c %u $PWD) -s /bin/bash -G wheel $WORKSPACE_USER 2> /dev/null
+        adduser -g $(stat -c %g $PWD) -u $WORKSPACE_USER_ID -s /bin/bash -G wheel $WORKSPACE_USER 2> /dev/null
         set +e
 
         if [ `ls -A "$dockerHome" | wc -c` -eq 0 -o ! -f "${dockerHome}/.bashrc" ]
diff --git a/python/LbDocker/__data/bin-lb-su_slc5 b/python/LbDocker/__data/bin-lb-su_slc5
index 5aedfc5d8187e785546b65c664550e1af7485aa9..6abc6acc6eed18f192b9228c114434b9aa63662d 100755
--- a/python/LbDocker/__data/bin-lb-su_slc5
+++ b/python/LbDocker/__data/bin-lb-su_slc5
@@ -10,6 +10,16 @@ then
     export WORKSPACE_GROUP=`echo $WORK_USER | cut -d ":" -f 2`
     export WORKSPACE_USER=`echo $WORK_USER | cut -d ":" -f 1`
 
+    if [-z $WORK_USER_ID ]
+    then
+
+        export WORKSPACE_GROUP_ID=`stat -c %g $PWD`
+        export WORKSPACE_USER_ID=`stat -c %u $PWD`
+    else
+        export WORKSPACE_GROUP_ID=`echo $WORK_USER_ID | cut -d ":" -f 2`
+        export WORKSPACE_USER_ID=`echo $WORK_USER_ID | cut -d ":" -f 1`
+    fi
+
     dockerCP=false
     if [ -z $dockerHome ]
     then
@@ -26,10 +36,10 @@ then
     fi
 
     set -e
-    getent group $(stat -c %g $PWD) > /dev/null || groupadd -g $(stat -c %g $PWD) $WORKSPACE_GROUP
+    getent group $WORKSPACE_GROUP_ID > /dev/null || groupadd -g $WORKSPACE_GROUP_ID $WORKSPACE_GROUP
     if ! getent passwd $(stat -c %u $PWD) > /dev/null
     then
-        adduser -g $(stat -c %g $PWD) -u $(stat -c %u $PWD) -s /bin/bash -G wheel $WORKSPACE_USER 2> /dev/null
+        adduser -g $(stat -c %g $PWD) -u $WORKSPACE_USER_ID -s /bin/bash -G wheel $WORKSPACE_USER 2> /dev/null
         set +e
 
         if [ `ls -A "$dockerHome" | wc -c` -eq 0 -o ! -f "${dockerHome}/.bashrc" ]
diff --git a/scripts/lb-docker-run b/scripts/lb-docker-run
index 64d21d74117894fb81894a7c3d8f8f7c209aff1a..247860b0f607f8a6fd048fa1c2287fc574154413 100755
--- a/scripts/lb-docker-run
+++ b/scripts/lb-docker-run
@@ -33,6 +33,7 @@ def stop_threads():
 
 cwd = os.getcwd()
 cwd_stat = os.stat(cwd)
+userId = cwd_stat.st_uid
 userName = pwd.getpwuid(cwd_stat.st_uid).pw_name
 grpId = cwd_stat.st_gid
 grpName = grp.getgrgid(cwd_stat.st_gid).gr_name
@@ -174,6 +175,7 @@ if options.user:
     cmd.extend(['-u', options.user])
 else:
     options.envVar.extend(['WORK_USER=' + userName + ':' + grpName])
+    options.envVar.extend(['WORK_USER_ID={0}:{1}'.format(userId, grpId)])
 
 for env in options.envVar:
     cmd.extend(['-e', env])