Here is an experimental patch which should fix this problem.
diff -r 2089d019de8b repmgr/repmgr_elect.c
--- a/repmgr/repmgr_elect.c Mon Sep 08 16:07:04 2008 +0000
+++ b/repmgr/repmgr_elect.c Sun Sep 28 17:09:57 2008 -0700
@@ -188,7 +188,8 @@ __repmgr_elect_main(env)
(env, "elect thread to do: %d", to_do));
switch (to_do) {
case ELECT_ELECTION:
- nsites = __repmgr_get_nsites(db_rep);
+ nsites = IS_USING_LEASES(env) ?
+ 0 : __repmgr_get_nsites(db_rep);
/*
* With only 2 sites in the group, even a single failure
* could make it impossible to get a majority. So,