diff --git a/entropy.c b/entropy.c
index e9608d0..f4a655e 100644
--- a/entropy.c
+++ b/entropy.c
@@ -35,7 +35,7 @@
 # include <floatingpoint.h>
 #endif /* HAVE_FLOATINGPOINT_H */
 
-RCSID("$Id: entropy.c,v 1.20 2000/09/29 01:12:36 djm Exp $");
+RCSID("$Id: entropy.c,v 1.21 2000/10/16 09:13:43 djm Exp $");
 
 #ifndef offsetof
 # define offsetof(type, member) ((size_t) &((type *)0)->member)
@@ -514,10 +514,10 @@
 	/* FIXME raceable: eg replace seed between this stat and subsequent open */
 	/* Not such a problem because we don't trust the seed file anyway */
 	if (lstat(filename, &st) == -1) {
-		/* Fail on hard errors */
+		/* Give up on hard errors */
 		if (errno != ENOENT)
-			fatal("Couldn't stat random seed file \"%s\": %s", filename,
-				strerror(errno));
+			debug("WARNING: Couldn't stat random seed file \"%s\": %s", 
+			   filename, strerror(errno));
 
 		return(0);
 	}
@@ -527,10 +527,12 @@
 		fatal("PRNG seedfile %.100s is not a regular file", filename);
 
 	/* mode 0600, owned by root or the current user? */
-	if (((st.st_mode & 0177) != 0) || !(st.st_uid == original_uid))
-		fatal("PRNG seedfile %.100s must be mode 0600, owned by uid %d",
+	if (((st.st_mode & 0177) != 0) || !(st.st_uid == original_uid)) {
+		debug("WARNING: PRNG seedfile %.100s must be mode 0600, owned by uid %d",
 			 filename, getuid());
-
+		return(0);
+	}
+	
 	return(1);
 }
 
@@ -569,15 +571,16 @@
 	/* Don't care if the seed doesn't exist */
 	prng_check_seedfile(filename);
 	
-	if ((fd = open(filename, O_WRONLY|O_TRUNC|O_CREAT, 0600)) == -1)
-		fatal("couldn't access PRNG seedfile %.100s (%.100s)", filename, 
-			strerror(errno));
-	
-	if (atomicio(write, fd, &seed, sizeof(seed)) != sizeof(seed))
-		fatal("problem writing PRNG seedfile %.100s (%.100s)", filename, 
-			 strerror(errno));
+	if ((fd = open(filename, O_WRONLY|O_TRUNC|O_CREAT, 0600)) == -1) {
+		debug("WARNING: couldn't access PRNG seedfile %.100s (%.100s)", 
+		   filename, strerror(errno));
+	} else {	
+		if (atomicio(write, fd, &seed, sizeof(seed)) != sizeof(seed))
+			fatal("problem writing PRNG seedfile %.100s (%.100s)", filename, 
+				 strerror(errno));
 
-	close(fd);
+		close(fd);
+	}
 }
 
 void
