[MEDIUM] it was not possible to balance between backup servers in source hash mode.
diff --git a/haproxy.c b/haproxy.c
index be05a76..319c953 100644
--- a/haproxy.c
+++ b/haproxy.c
@@ -2041,7 +2041,7 @@
 	return NULL;
 
     l = h = 0;
-    if (px->srv_act > 1) {
+    if (px->srv_act > 1 || (px->srv_act == 0 && px->srv_bck > 1)) {
 	while ((l + sizeof (int)) <= len) {
 	    h ^= ntohl(*(unsigned int *)(&addr[l]));
 	    l += sizeof (int);