diff --git a/ChangeLog b/ChangeLog
index 26673b8a6387e83dc64a3d4c442655dcbb3ed79f..8dd51f8cc218106f877f985be8a929fa46e8f415 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-04-21  David Lawrence Ramsey  <pooka109@gmail.com>
+
+	* files.c (do_writeout): Simplify.
+
 2007-04-19  David Lawrence Ramsey  <pooka109@gmail.com>
 
 	* files.c (tail): Remove unneeded if statement.
diff --git a/src/files.c b/src/files.c
index 1492c9c8c8d73f64da8e91df5121a5d6fbfbdaf4..5e07880a080126dca50691847c03c819d241560e 100644
--- a/src/files.c
+++ b/src/files.c
@@ -1921,27 +1921,25 @@ bool do_writeout(bool exiting)
 		    free(full_answer);
 
 		if (do_warning) {
-		    if (name_exists) {
-			/* If we're using restricted mode, we aren't
-			 * allowed to save a new file under the name of
-			 * an existing file. */
-			if (ISSET(RESTRICTED))
-			    continue;
+		    /* If we're using restricted mode, we aren't allowed
+		     * to overwrite an existing file with the current
+		     * file.  We also aren't allowed to change the name
+		     * of the current file if it has one, because that
+		     * would allow reading from or writing to files not
+		     * specified on the command line. */
+		    if (ISSET(RESTRICTED))
+			continue;
 
+		    if (name_exists) {
 			i = do_yesno_prompt(FALSE,
 				_("File exists, OVERWRITE ? "));
 			if (i == 0 || i == -1)
 			    continue;
-		    /* If we're using restricted mode, we aren't allowed
-		     * to change the name of a file once it has one,
-		     * because that would allow reading from or writing
-		     * to files not specified on the command line. */
-		    } else if (!ISSET(RESTRICTED) &&
-			openfile->filename[0] != '\0'
+		    } else
 #ifndef NANO_TINY
-			&& (exiting || !openfile->mark_set)
+		    if (exiting || !openfile->mark_set)
 #endif
-			) {
+		    {
 			i = do_yesno_prompt(FALSE,
 				_("Save file under DIFFERENT NAME ? "));
 			if (i == 0 || i == -1)