diff --git a/ChangeLog b/ChangeLog
index 32b1a1b61ce4f177ba682ce2c693cd3909775c59..afffac0d402e74465ebff964759e288b96baa1ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -26,6 +26,8 @@ CVS code -
 	  suggested by Jordi)
 	- Clarify the error message when writing a temporary file for
 	  prepending fails. (DLR)
+	- Simplify the routine for closing the file just before we
+	  indicate success on the statusbar. (DLR)
 - rcfile.c:
   parse_argument()
 	- Rename variable ptr_bak to ptr_save, for consistency. (DLR)
diff --git a/src/files.c b/src/files.c
index dd8c2a54cf992a662a4f8032763be403076b413a..4240cb1e20f3110bee6c72c6edc2b14585ea117d 100644
--- a/src/files.c
+++ b/src/files.c
@@ -1622,11 +1622,8 @@ int write_file(const char *name, FILE *f_open, bool tmp, append_type
 		strerror(errno));
 	    goto cleanup_and_exit;
 	}
-    } else if (fclose(f) == EOF) {
-	statusbar(_("Error writing %s: %s"), realname, strerror(errno));
-	unlink(tempname);
-	goto cleanup_and_exit;
-    }
+    } else
+	fclose(f);
 
     if (!tmp && append == OVERWRITE) {
 	if (!nonamechange) {