diff --git a/src/files.c b/src/files.c
index b83e6596b3fc806e4f4dc6887ba9e42a00e10042..35dbb2283d1b1d12edeebae9d0d3f679f49a1ed0 100644
--- a/src/files.c
+++ b/src/files.c
@@ -1901,8 +1901,10 @@ int do_writeout(bool exiting)
 			full_filename != NULL && strcmp(full_answer,
 			full_filename) != 0);
 
-		free(full_filename);
-		free(full_answer);
+		if (full_filename != NULL)
+		    free(full_filename);
+		if (full_answer != NULL)
+		    free(full_answer);
 
 		if (different_name) {
 		    if (name_exists) {