An empty Vary header may be added in PgCache.php at line 1243. I've done the following to remove it:
diff --git a/wp-content/plugins/w3-total-cache/lib/W3/PgCache.php b/wp-content/plugins/w3-total-cache/lib/W3/PgCache.php
index 26f471c..432b6ac 100644
--- a/wp-content/plugins/w3-total-cache/lib/W3/PgCache.php
+++ b/wp-content/plugins/w3-total-cache/lib/W3/PgCache.php
@@ -1239,8 +1239,10 @@ class W3_PgCache {
/**
* Add vary header
*/
- $headers = array_merge($headers, array(
- 'Vary' => $vary));
+ if ( $vary ) {
+ $headers = array_merge($headers, array(
+ 'Vary' => $vary));
+ }
/**
* Add custom headers