diff --git a/gitlab/functions.sh b/gitlab/functions.sh
index b98b26eaf37e1886d9ec5010e0d6ddede9f41897..1cf58aaaf4c2f3e49b45a0e6935a8825ab364484 100644
--- a/gitlab/functions.sh
+++ b/gitlab/functions.sh
@@ -73,50 +73,46 @@ log_error() {
 }
 
 
-# Checks a given environment variable is set (non-zero size)
-check_env() {
-  if [ -z "${1+abc}" ]; then
+# Checks just if the variable is defined and has non-zero length
+check_defined() {
+  if [ -z "${!1+abc}" ]; then
     log_error "Variable ${1} is undefined - aborting...";
     exit 1
-  else
-    log_info "${1}=${!1}";
+  elif [ -z "${!1}" ]; then
+    log_error "Variable ${1} is zero-length - aborting...";
+    exit 1
   fi
 }
 
 
+# Checks a given environment variable is set (non-zero size)
+check_env() {
+  check_defined "${1}"
+  log_info "${1}=${!1}"
+}
+
+
 # Checks a given environment variable array is set (non-zero size)
 check_array_env() {
-  if [ -z "${1+abc}" ]; then
-    log_error "Variable ${1} is undefined - aborting...";
-    exit 1
-  else
-    for i in "${!foo[@]}"; do
-      log_info "${1}[${i}]=${!1[${i}]}";
-    done
-  fi
+  check_defined "${1}"
+  for i in "${!1[@]}"; do
+    log_info "${1}[${i}]=${!1[${i}]}";
+  done
 }
 
 
 # Exports a given environment variable, verbosely
 export_env() {
-  if [ -z "${1+abc}" ]; then
-    log_error "Variable ${1} is undefined - aborting...";
-    exit 1
-  else
-    export ${1}
-    log_info "export ${1}=${!1}";
-  fi
+  check_defined "${1}"
+  export ${1}
+  log_info "export ${1}=${!1}"
 }
 
 
 # Checks a given environment variable is set (non-zero size)
 check_pass() {
-  if [ -z "${1+abc}" ]; then
-    log_error "Variable ${1} is undefined - aborting...";
-    exit 1
-  else
-    log_info "${1}=********";
-  fi
+  check_defined "${1}"
+  log_info "${1}=********"
 }