diff --git a/exec/websocketservice.js b/exec/websocketservice.js
index 4f991ffc10e1cdc9e0c25b3d34b68719988ccb3a..97dca1c08e794833b3e48fb6e503053ed22f4a19 100644
--- a/exec/websocketservice.js
+++ b/exec/websocketservice.js
@@ -87,6 +87,14 @@ try {
             var ClientData = [];
             var ServerData = [];
 
+			if (UsingHAProxy()) {
+				if (FWebSocketHeader['X-Forwarded-For'] !== undefined) {
+					// Do HAProxy stuff here
+				} else {
+					throw new Error('BBS is using HAProxy, but no X-Forwarded-For header present.');
+				}
+			}
+
             // Loop while we're still connected on both ends
             while ((client.socket.is_connected) && (FServerSocket.is_connected)) {
                 // Should we yield or not (default true, but disable if we had line activity)