diff --git a/docs/cmdline-opts/etag-compare.md b/docs/cmdline-opts/etag-compare.md
index 114806552b..64ab80cd12 100644
--- a/docs/cmdline-opts/etag-compare.md
+++ b/docs/cmdline-opts/etag-compare.md
@@ -21,7 +21,8 @@ Make a conditional HTTP request for the specific ETag read from the given file
by sending a custom If-None-Match header using the stored ETag.
For correct results, make sure that the specified file contains only a single
-line with the desired ETag. An empty file is parsed as an empty ETag.
+line with the desired ETag. A non-existing or empty file is treated as an
+empty ETag.
Use the option --etag-save to first save the ETag from a response, and then
use this option to compare against the saved ETag in a subsequent request.
diff --git a/src/tool_operate.c b/src/tool_operate.c
index 2309495d82..b3a938c737 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -1940,12 +1940,9 @@ static CURLcode single_transfer(struct GlobalConfig *global,
/* open file for reading: */
FILE *file = fopen(config->etag_compare_file, FOPEN_READTEXT);
- if(!file && !config->etag_save_file) {
- errorf(global,
- "Failed to open %s", config->etag_compare_file);
- result = CURLE_READ_ERROR;
- break;
- }
+ if(!file)
+ warnf(global, "Failed to open %s: %s", config->etag_compare_file,
+ strerror(errno));
if((PARAM_OK == file2string(&etag_from_file, file)) &&
etag_from_file) {
diff --git a/tests/data/test341 b/tests/data/test341
index 4ebee11fcc..b6e429a222 100644
--- a/tests/data/test341
+++ b/tests/data/test341
@@ -36,7 +36,7 @@ chunky-trailer: header data
http
-Try to open a non existing file with --etag-compare should return an error
+A non existing file with --etag-compare is just a blank
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --etag-compare %LOGDIR/etag%TESTNUMBER
@@ -46,9 +46,14 @@ http://%HOSTIP:%HTTPPORT/%TESTNUMBER --etag-compare %LOGDIR/etag%TESTNUMBER
#
# Verify data after the test has been "shot"
-
-26
-
+
+GET /%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+If-None-Match: ""
+
+