diff --git a/ChangeLog b/ChangeLog
index dac25e882fe6f7d74036651bad6173e0d284256f..ac497b0b3cba384eb3572a0382ff536a06421e55 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,6 +11,9 @@ CVS code -
 	- Open all files in binary mode for consistency and robustness.
 	  Changes to load_history() and do_rcfile(). (DLR)
 - files.c:
+  safe_tempfile()
+	- Don't ignore $TMPDIR if it's set but blank, for consistency.
+	  (DLR)
   write_file()
 	- Don't free backupname before displaying it in a statusbar error
 	  message. (DLR, found by Bill Marcum)
diff --git a/src/files.c b/src/files.c
index 00168d5fde8f903a35ea4864523bc8e277f4ee76..04b4b42b3f296adaadb91eaa48db41afbecf43de 100644
--- a/src/files.c
+++ b/src/files.c
@@ -1061,11 +1061,11 @@ char *safe_tempfile(FILE **f)
 
     assert(f != NULL);
 
-    /* If $TMPDIR is set and non-empty, set tempdir to it, run it
-     * through get_full_path(), and save the result in full_tempdir.
-     * Otherwise, leave full_tempdir set to NULL. */
+    /* If $TMPDIR is set, set tempdir to it, run it through
+     * get_full_path(), and save the result in full_tempdir.  Otherwise,
+     * leave full_tempdir set to NULL. */
     tmpdir_env = getenv("TMPDIR");
-    if (tmpdir_env != NULL && tmpdir_env[0] != '\0')
+    if (tmpdir_env != NULL)
 	full_tempdir = check_writable_directory(tmpdir_env);
 
     /* If $TMPDIR is unset, empty, or not a writable directory, and