--- nut/server/sstate.c
+++ nut/server/sstate.c
@@ -37,2 +37,4 @@
 
+	int	ss_connfail_int = SS_CONNFAIL_INT;
+
 static int parse_args(upstype_t *ups, int numargs, char **arg)
@@ -184,3 +186,3 @@ int sstate_connect(upstype_t *ups)
 		time(&now);
-		if (difftime(now, ups->last_connfail) < SS_CONNFAIL_INT)
+		if (difftime(now, ups->last_connfail) < ss_connfail_int)
 			return -1;
--- nut/server/conf.c
+++ nut/server/conf.c
@@ -175,2 +175,8 @@ static int parse_upsd_conf_args(int numa
 
+	/* SS_CONNFAIL_INT <seconds> */
+	if (!strcmp(arg[0], "SS_CONNFAIL_INT")) {
+		ss_connfail_int = atoi(arg[1]);
+		return 1;
+	}
+
 	/* everything below here uses up through arg[2] */
--- nut/server/upsd.h
+++ nut/server/upsd.h
@@ -71,2 +71,4 @@ extern nut_ctype_t	*firstclient;
 
+/* declarations from sstate.c */
+extern int		ss_connfail_int;
 /* map commands onto signals */
