diff -urpN mc-4.6.1.org/src/utilunix.c mc-4.6.1/src/utilunix.c
--- mc-4.6.1.org/src/utilunix.c	2005-07-23 18:52:03.000000000 +0200
+++ mc-4.6.1/src/utilunix.c	2007-05-18 13:42:31.000000000 +0200
@@ -240,8 +240,9 @@ mc_tmpdir (void)
     struct stat st;
     const char *error = NULL;
 
-    /* Check if already initialized */
-    if (tmpdir)
+    /* Check if already initialized and still exists */
+    /* (some people run automatic /tmp cleaners...) */
+    if (tmpdir && lstat (tmpdir, &st) == 0)
 	return tmpdir;
 
     sys_tmp = getenv ("TMPDIR");
