diff --git a/bin/docker_wrap.sh b/bin/docker_wrap.sh
index 6c56cb32280c01c87cb54a897359cc2715fb39f5..534e5771066a37a9c322f20c25291402d57bd538 100755
--- a/bin/docker_wrap.sh
+++ b/bin/docker_wrap.sh
@@ -18,6 +18,14 @@ setup_user() {
     NEWUID="$(stat -c '%u' "$TARGET")"
     NEWGID="$(stat -c '%g' "$TARGET")"
 
+    if [ -f "/bin/zsh" ]; then
+        USE_SHELL="/bin/zsh"
+    elif [ -f "/bin/bash" ]; then
+        USE_SHELL="/bin/bash"
+    else
+        USE_SHELL="/bin/sh"
+    fi
+
     echo ">>> checking for group $NEWGID"
     if ! getent group "$NEWGID" >/dev/null 2>/dev/null ; then
         busybox addgroup -g "$NEWGID" "$NEWUSER" || (echo "!!! Couldn't create group with id $NEWGID" && exit 1)
@@ -28,7 +36,7 @@ setup_user() {
     fi
     echo ">>> checking for user $NEWUID"
     if ! getent passwd "$NEWUID" >/dev/null 2>/dev/null ; then
-        busybox adduser -G "$NEWGROUP" -u "$NEWUID" -h "$TARGET" -s /bin/sh -D "$NEWUSER" || (echo "!!! Couldn't create user" && exit 1)
+        busybox adduser -G "$NEWGROUP" -u "$NEWUID" -h "$TARGET" -s "$USE_SHELL" -D "$NEWUSER" || (echo "!!! Couldn't create user" && exit 1)
         echo ">>> created user $NEWUSER($NEWUID)"
     else
         NEWUSER="$(getent passwd "$NEWUID" | cut -d: -f1)"