diff --git a/src/http/modules/ngx_http_index_handler.c b/src/http/modules/ngx_http_index_handler.c
index ee5efd2..edcf54a 100644
--- a/src/http/modules/ngx_http_index_handler.c
+++ b/src/http/modules/ngx_http_index_handler.c
@@ -132,7 +132,7 @@
             ngx_log_debug1(NGX_LOG_DEBUG_HTTP, log, 0,
                            "http index cache get: " PTR_FMT, ctx->cache);
 
-            if (ctx->cache && ctx->cache->valid) {
+            if (ctx->cache && !ctx->cache->expired) {
 
                 ctx->cache->accessed = ngx_cached_time;
 
@@ -266,7 +266,6 @@
                 ctx->cache->accessed = ngx_cached_time;
                 ctx->cache->last_modified = 0;
                 ctx->cache->updated = ngx_cached_time;
-                ctx->cache->valid = 1;
                 ctx->cache->memory = 1;
                 ngx_http_cache_unlock(ilcf->index_cache, ctx->cache, log);
             }
diff --git a/src/http/modules/ngx_http_static_handler.c b/src/http/modules/ngx_http_static_handler.c
index 1c754a0..31dd1fb 100644
--- a/src/http/modules/ngx_http_static_handler.c
+++ b/src/http/modules/ngx_http_static_handler.c
@@ -91,7 +91,7 @@
      * and it must be already registered in r->cleanup
      */
 
-    if (r->cache && r->cache->valid) {
+    if (r->cache && !r->cache->expired) {
         return ngx_http_send_cached(r);
     }
 
@@ -146,7 +146,7 @@
         ngx_log_debug1(NGX_LOG_DEBUG_HTTP, log, 0,
                        "http open file cache get: " PTR_FMT, file);
 
-        if (file && file->valid) {
+        if (file && !file->expired) {
             r->cache = file;
             return ngx_http_send_cached(r);
         }
@@ -165,7 +165,7 @@
         ngx_log_debug1(NGX_LOG_DEBUG_HTTP, log, 0,
                        "http redirect cache get: " PTR_FMT, redirect);
 
-        if (redirect && redirect->valid) {
+        if (redirect && !redirect->expired) {
 
             /*
              * We do not copy a cached value so the cache entry is locked
@@ -336,7 +336,6 @@
                 redirect->accessed = ngx_cached_time;
                 redirect->last_modified = 0;
                 redirect->updated = ngx_cached_time;
-                redirect->valid = 1;
                 redirect->memory = 1;
                 ngx_http_cache_unlock(slcf->redirect_cache, redirect, log);
                 redirect_cleanup->valid = 0;
@@ -375,7 +374,7 @@
             }
             file->accessed = ngx_cached_time;
             file->updated = ngx_cached_time;
-            file->valid = 1;
+            file->expired = 0;
             r->cache = file;
 
             return ngx_http_send_cached(r);
@@ -409,7 +408,6 @@
             file->accessed = ngx_cached_time;
             file->last_modified = ngx_file_mtime(&fi);
             file->updated = ngx_cached_time;
-            file->valid = 1;
             r->cache = file;
         }
 
