diff --git a/src/checks.c b/src/checks.c
index ec56453..83a539e 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -277,9 +277,11 @@
  */
 int process_chk(struct task *t)
 {
+	__label__ new_chk, out;
 	struct server *s = t->context;
 	struct sockaddr_in sa;
 	int fd;
+	int next_time;
 
 	//fprintf(stderr, "process_chk: task=%p\n", t);
 
@@ -289,7 +291,8 @@
 		//fprintf(stderr, "process_chk: 2\n");
 		if (!tv_ms_le2(&t->expire, &now)) { /* not good time yet */
 			task_queue(t);	/* restore t to its place in the task list */
-			return tv_ms_remain2(&now, &t->expire);
+			next_time = tv_ms_remain2(&now, &t->expire);
+			goto out;
 		}
 
 		/* we don't send any health-checks when the proxy is stopped or when
@@ -299,7 +302,8 @@
 			while (tv_ms_le2(&t->expire, &now))
 				tv_ms_add(&t->expire, &t->expire, s->inter);
 			task_queue(t);	/* restore t to its place in the task list */
-			return tv_ms_remain2(&now, &t->expire);
+			next_time = tv_ms_remain2(&now, &t->expire);
+			goto out;
 		}
 
 		/* we'll initiate a new check */
@@ -508,7 +512,12 @@
 	//fprintf(stderr, "process_chk: 11\n");
 	s->result = 0;
 	task_queue(t);	/* restore t to its place in the task list */
-	return tv_ms_remain2(&now, &t->expire);
+	next_time = tv_ms_remain2(&now, &t->expire);
+ out:
+	/* Ensure that we don't report sub-millisecond timeouts */
+	if (next_time != TIME_ETERNITY)
+		next_time++;
+	return next_time;
 }
 
 
diff --git a/src/task.c b/src/task.c
index d236d9f..8905581 100644
--- a/src/task.c
+++ b/src/task.c
@@ -88,6 +88,7 @@
  */
 int wake_expired_tasks()
 {
+	__label__ out;
 	int slen;
 	struct task *task;
 	void *data;
@@ -100,8 +101,10 @@
 
 	if (likely(timer_wq.data != NULL)) {
 		task = LIST_ELEM(timer_wq.data, struct task *, qlist);
-		if (likely(__tv_isge(&task->expire, &now) > 0))
-			return tv_ms_remain(&now, &task->expire);
+		if (likely(__tv_isge(&task->expire, &now) > 0)) {
+			next_time = tv_ms_remain(&now, &task->expire);
+			goto out;
+		}
 	}
 
 	/* OK we lose. Let's scan the tree then. */
@@ -127,6 +130,10 @@
 			task->state = TASK_RUNNING;
 		}
 	}
+ out:
+	/* Ensure that we don't report sub-millisecond timeouts */
+	if (next_time != TIME_ETERNITY)
+		next_time++;
 	return next_time;
 }
 
