diff --git a/x-forwarded-for/README.md b/x-forwarded-for/README.md
index 90af23e..ef27e11 100644
--- a/x-forwarded-for/README.md
+++ b/x-forwarded-for/README.md
@@ -19,4 +19,5 @@ Configuration ID: `xforwardedfor`
 | enableUpstream | boolean | Enable adding XFF headers or header values in forwarded requests. Note that any existing XFF header values will still be forwarded if this is `false`. | no | `true` |
 | forwardHeader | boolean | Enable forwarding an existing XFF and XFP header value in a request. | no | `true` |
 | enableForwardProto | boolean | Enable adding a XFP header in forwarded requests. | no | `true` |
+| allowForwardProtoMultiple | boolean | If `true`, new values of `x-forwarded-proto` will be added to previous values (forming a list); this may not be supported by all servers. Otherwise, the header is overwritten with the newest value. To retain a previous value, set `enableForwardProto` to `false` instead. | no | `true` |
 
diff --git a/x-forwarded-for/main/java/org/omegazero/proxyplugin/xforwardedfor/XForwardedForPlugin.java b/x-forwarded-for/main/java/org/omegazero/proxyplugin/xforwardedfor/XForwardedForPlugin.java
index b7b6e6d..20fba16 100644
--- a/x-forwarded-for/main/java/org/omegazero/proxyplugin/xforwardedfor/XForwardedForPlugin.java
+++ b/x-forwarded-for/main/java/org/omegazero/proxyplugin/xforwardedfor/XForwardedForPlugin.java
@@ -57,6 +57,8 @@ public class XForwardedForPlugin {
 	private boolean forwardHeader = true;
 	@ConfigurationOption
 	private boolean enableForwardProto = true;
+	@ConfigurationOption
+	private boolean allowForwardProtoMultiple = true;
 
 	private Object[] expectedParts;
 
@@ -100,8 +102,12 @@ public class XForwardedForPlugin {
 		}
 		if(this.enableUpstream)
 			http.appendHeader(HEADER_XFF, addressToString((InetSocketAddress) downstreamConnection.getRemoteAddress(), this.includePortNumber));
-		if(this.enableForwardProto)
-			http.appendHeader(HEADER_XFP, http.getScheme());
+		if(this.enableForwardProto){
+			if(this.allowForwardProtoMultiple)
+				http.appendHeader(HEADER_XFP, http.getScheme());
+			else
+				http.setHeader(HEADER_XFP, http.getScheme());
+		}
 	}