diff --git a/src/event/ngx_event_timer.c b/src/event/ngx_event_timer.c
index db97d01..90a4f20 100644
--- a/src/event/ngx_event_timer.c
+++ b/src/event/ngx_event_timer.c
@@ -5,14 +5,15 @@
 
 
 ngx_rbtree_t  *ngx_event_timer_rbtree;
+ngx_rbtree_t   ngx_event_timer_sentinel;
 
 
 int ngx_event_timer_init(ngx_cycle_t *cycle)
 {
-    ngx_event_timer_rbtree = &sentinel;
-    sentinel.left = &sentinel;
-    sentinel.right = &sentinel;
-    sentinel.parent = &sentinel;
+    ngx_event_timer_rbtree = &ngx_event_timer_sentinel;
+    ngx_event_timer_sentinel.left = &ngx_event_timer_sentinel;
+    ngx_event_timer_sentinel.right = &ngx_event_timer_sentinel;
+    ngx_event_timer_sentinel.parent = &ngx_event_timer_sentinel;
 
     return NGX_OK;
 }
@@ -27,9 +28,9 @@
 {
     ngx_rbtree_t  *node;
 
-    node = ngx_rbtree_min(ngx_event_timer_rbtree);
+    node = ngx_rbtree_min(ngx_event_timer_rbtree, &ngx_event_timer_sentinel);
 
-    if (node == &sentinel) {
+    if (node == &ngx_event_timer_sentinel) {
         return 0;
 
     } else {
@@ -45,14 +46,15 @@
     ngx_rbtree_t  *node;
 
     for ( ;; ) {
-        node = ngx_rbtree_min(ngx_event_timer_rbtree);
+        node = ngx_rbtree_min(ngx_event_timer_rbtree,
+                              &ngx_event_timer_sentinel);
 
-        if (node == &sentinel) {
+        if (node == &ngx_event_timer_sentinel) {
             break;
         }
 
         if ((ngx_msec_t) node->key <= (ngx_msec_t)
-                             (ngx_elapsed_msec + timer) / NGX_TIMER_RESOLUTION)
+                         (ngx_old_elapsed_msec + timer) / NGX_TIMER_RESOLUTION)
         {
             ev = (ngx_event_t *)
                            ((char *) node - offsetof(ngx_event_t, rbtree_key));
