diff --git a/src/files.c b/src/files.c
index 3af05746dc523f171f4b4b8b15647195cf302065..65b42cdc56b1a2a883417ac7ba9bd25890662ed4 100644
--- a/src/files.c
+++ b/src/files.c
@@ -1892,9 +1892,9 @@ int do_writeout(bool exiting)
 		name_exists = (stat(answer, &st) != -1);
 		full_answer = get_full_path(answer);
 		full_filename = get_full_path(openfile->filename);
-		different_name = (strcmp((full_answer != NULL) ?
-			full_answer : answer, (full_filename != NULL) ?
-			full_filename : openfile->filename) != 0);
+		different_name = (strcmp((full_answer == NULL) ?
+			answer : full_answer, (full_filename == NULL) ?
+			openfile->filename : full_filename) != 0);
 
 		/* Convert nulls to newlines.  answer_len is the
 		 * string's real length. */