diff --git a/haproxy.c b/haproxy.c
index 67dce3d..d03ec1f 100644
--- a/haproxy.c
+++ b/haproxy.c
@@ -1787,17 +1787,21 @@
  */
 static inline struct server *find_server(struct proxy *px) {
     struct server *srv = px->cursrv;
+    struct server *end;
     int ignore_backup = 1;
 
     do {
+	if (srv == NULL)
+	    srv = px->srv;
+        end = srv;
 	do  {
-	    if (srv == NULL)
-		srv = px->srv;
 	    if (srv->state & SRV_RUNNING
 		&& !((srv->state & SRV_BACKUP) && ignore_backup))
 		return srv;
 	    srv = srv->next;
-	} while (srv != px->cursrv);
+	    if (srv == NULL)
+		srv = px->srv;
+	} while (srv != end);
 
 	/* By default, we look for the first backup server if all others are
 	 * DOWN. But in some cases, it may be desirable to load-balance across
