--- http_protocol1.465.c	Tue Feb 18 23:50:10 2003
+++ http_protocol.c	Thu Feb 27 09:30:08 2003
@@ -295,7 +295,6 @@
 {
     const char *etag;
     const char *if_match, *if_modified_since, *if_unmodified, *if_nonematch;
-    apr_time_t tmp_time;
     apr_int64_t mtime;
 
     /* Check for conditional requests --- note that we only want to do
@@ -319,9 +318,12 @@
      * highest time resolution the HTTP specification allows.
      */
     /* XXX: we should define a "time unset" constant */
-    tmp_time = ((r->mtime != 0) ? r->mtime : apr_time_now());
-    mtime =  apr_time_sec(tmp_time);
 
+	if(r->mtime)
+	    mtime =  apr_time_sec(r->mtime);
+	else
+	    mtime = ((r->request_time != 0) ? apr_time_sec(r->request_time) : (apr_int64_t)time(NULL));
+
     /* If an If-Match request-header field was given
      * AND the field value is not "*" (meaning match anything)
      * AND if our strong ETag does not match any entity tag in that field,