diff --git a/start-vnc b/start-vnc
index 2a4a728ca427b51e370ac6efd3e5209ef9c182f0..0caa749dd3b13fe21bca68f7da062fcd27163474 100755
--- a/start-vnc
+++ b/start-vnc
@@ -121,7 +121,7 @@ clean_up () {
     trap - ERR EXIT
     set +e
 
-    if ${SVNC_KILLSERVER}; then
+    if [[ "${SVNC_KILLSERVER}" = true ]]; then
         if [[ -n ${vnc_host:-} ]]; then
             echo "Killing vncserver :${vnc_display} on ${vnc_host}."
             ssh_frontend "ssh ${vnc_host} \"/opt/TurboVNC/bin/vncserver \
@@ -144,7 +144,7 @@ clean_up () {
     rmdir "${ssh_socket_dir}"
 
     # Remove local vnc PasswordFile
-    if ${SVNC_PASSWORD}; then
+    if [[ "${SVNC_PASSWORD}" = true ]]; then
         rm -f "vnc_passwd"
     fi
     exit
@@ -309,7 +309,7 @@ main () {
     done
     local client_options
     client_options="${SVNC_CLIENT_OPTIONS:-}"
-    if ${SVNC_PASSWORD}; then
+    if [[ "${SVNC_PASSWORD}" = true ]]; then
         echo "Fetching password from frontend."
         ssh_frontend "cat .vnc/passwd" > vnc_passwd
         client_options+=" -passwd vnc_passwd"