diff --git a/include/proto/peers.h b/include/proto/peers.h
index 782b66e..9d4aaff 100644
--- a/include/proto/peers.h
+++ b/include/proto/peers.h
@@ -28,7 +28,7 @@
 #include <types/stream.h>
 #include <types/peers.h>
 
-void peers_init_sync(struct peers *peers);
+int peers_init_sync(struct peers *peers);
 void peers_register_table(struct peers *, struct stktable *table);
 void peers_setup_frontend(struct proxy *fe);
 
diff --git a/src/cfgparse.c b/src/cfgparse.c
index 1ca10be..5a6b705 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -9085,7 +9085,12 @@
 				curpeers->peers_fe = NULL;
 			}
 			else {
-				peers_init_sync(curpeers);
+				if (!peers_init_sync(curpeers)) {
+					ha_alert("Peers section '%s': out of memory, giving up on peers.\n",
+						 curpeers->id);
+					cfgerr++;
+					break;
+				}
 				last = &curpeers->next;
 				continue;
 			}
diff --git a/src/peers.c b/src/peers.c
index e61caaf..c16617d 100644
--- a/src/peers.c
+++ b/src/peers.c
@@ -2202,9 +2202,9 @@
 
 
 /*
- *
+ * returns 0 in case of error.
  */
-void peers_init_sync(struct peers *peers)
+int peers_init_sync(struct peers *peers)
 {
 	struct peer * curpeer;
 	struct listener *listener;
@@ -2216,10 +2216,14 @@
 	list_for_each_entry(listener, &peers->peers_fe->conf.listeners, by_fe)
 		listener->maxconn = peers->peers_fe->maxconn;
 	peers->sync_task = task_new(MAX_THREADS_MASK);
+	if (!peers->sync_task)
+		return 0;
+
 	peers->sync_task->process = process_peer_sync;
 	peers->sync_task->context = (void *)peers;
 	peers->sighandler = signal_register_task(0, peers->sync_task, 0);
 	task_wakeup(peers->sync_task, TASK_WOKEN_INIT);
+	return 1;
 }
 
 
