diff --git a/vcsh b/vcsh
index 60d04074f9dfd8c256035b5596a8aa056f3f1d9f..79ae0e0124e7fae4e4058620e8fce10aa29f9b70 100755
--- a/vcsh
+++ b/vcsh
@@ -360,9 +360,8 @@ write_gitignore() {
 
 	# Contrary to GNU mktemp, mktemp on BSD/OSX requires a template for temp files
 	# Use the template GNU mktemo defaults to
-	# The downside to this is that we need to set TMPDIR explicitly; this may or may not be empty, so...
-	[ -z "$TMPDIR" ] && TMPDIR='/tmp'
-	tempfile=$(mktemp ${TMPDIR}/tmp.XXXXXXXXXX) || fatal "could not create tempfile: '${tempfile}'" 51
+	# The downside to this is that we need to account for unset TMPDIR
+	tempfile=$(mktemp ${TMPDIR:-/tmp}/tmp.XXXXXXXXXX) || fatal "could not create tempfile: '${tempfile}'" 51
 
 	echo '*' > "$tempfile" || fatal "could not write to '$tempfile'" 57
 	for gitignore in $gitignores; do