diff --git a/lib/roles/http/server/server.c b/lib/roles/http/server/server.c
index 0daf9c6b9079e7873258cff188cf40c3893b98ec..cd1181fa97a2b5f06b8f828e42246c9cad3fdf7c 100644
--- a/lib/roles/http/server/server.c
+++ b/lib/roles/http/server/server.c
@@ -1273,7 +1273,7 @@ lws_http_action(struct lws *wsi)
 			if (lws_hdr_copy(wsi, p,
 				     (int)(&rpath[sizeof(rpath) - 1] - p),
 				     WSI_TOKEN_HTTP_URI_ARGS) > 0)
-				while (--na) {
+				while (na--) {
 					if (*p == '\0')
 						*p = '&';
 					p++;