diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/Configuration.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/Configuration.java
index 41c2d6c..1c68d7e 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/Configuration.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/Configuration.java
@@ -368,7 +368,7 @@
       log.atFine().log("Skip interface(s): %s", skipInterface);
       clusterName = getString(cfg, JGROUPS_SECTION, null, CLUSTER_NAME_KEY, DEFAULT_CLUSTER_NAME);
       log.atFine().log("Cluster name: %s", clusterName);
-      timeout = getInt(cfg, JGROUPS_SECTION, TIMEOUT_KEY, DEFAULT_TIMEOUT_MS);
+      timeout = getMilliseconds(cfg, JGROUPS_SECTION, TIMEOUT_KEY, DEFAULT_TIMEOUT_MS);
       maxTries = getInt(cfg, JGROUPS_SECTION, MAX_TRIES_KEY, DEFAULT_MAX_TRIES);
       retryInterval =
           getMilliseconds(cfg, JGROUPS_SECTION, RETRY_INTERVAL_KEY, DEFAULT_RETRY_INTERVAL);
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/jgroups/JGroupsForwarder.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/jgroups/JGroupsForwarder.java
index 030c298..117fec9 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/jgroups/JGroupsForwarder.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/jgroups/JGroupsForwarder.java
@@ -132,8 +132,7 @@
       }
 
       log.atFine().log("Sending %s", json);
-      RequestOptions options =
-          new RequestOptions(ResponseMode.GET_FIRST, jgroupsConfig.retryInterval());
+      RequestOptions options = new RequestOptions(ResponseMode.GET_FIRST, jgroupsConfig.timeout());
       RspList<Object> list = dispatcher.castMessage(null, new ObjectMessage(null, json), options);
 
       log.atFine().log("Received response list length = %s", list.size());
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
index c207ae6..9c203b9 100644
--- a/src/main/resources/Documentation/config.md
+++ b/src/main/resources/Documentation/config.md
@@ -173,7 +173,8 @@
 
 ```jgroups.timeout```
 :   Maximum interval of time in milliseconds the JGroups wait for a response
-    forwarding a message. When not specified, the default value is 5000ms
+    Value is expressed in Gerrit time values as in [websession.cleanupInterval](#websessioncleanupInterval).
+    forwarding a message. When not specified, the default value is 5 seconds.
 
 ```jgroups.maxTries```
 :   Maximum number of times JGroups should attempt to forward a message. Setting
