diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c
index cf08981ac65529374ca2a2a3dceb9f0c37f9c1d7..0b0244f173540464f321b67e0f2495ec5dd419ae 100644
--- a/src/sbbs3/websrvr.c
+++ b/src/sbbs3/websrvr.c
@@ -2244,16 +2244,8 @@ static BOOL get_req(http_session_t * session, char *request_line)
 			if(session->req.ld!=NULL && session->req.ld->vhost==NULL)
 				session->req.ld->vhost=strdup(session->req.vhost);
 			session->req.dynamic=is_dynamic_req(session);
-			if(session->req.query_str[0])  {
+			if(session->req.query_str[0])
 				add_env(session,"QUERY_STRING",session->req.query_str);
-				switch(session->req.dynamic) {
-					case IS_JS:
-					case IS_SSJS:
-						js_add_request_prop(session,"query_string",session->req.query_str);
-						js_parse_query(session,session->req.query_str);
-						break;
-				}
-			}
 
 			add_env(session,"REQUEST_METHOD",methods[session->req.method]);
 			add_env(session,"SERVER_PROTOCOL",session->http_ver ? 
@@ -4010,6 +4002,14 @@ static BOOL exec_ssjs(http_session_t* session, char* script)  {
 	js_add_request_prop(session,"http_ver",http_vers[session->http_ver]);
 	js_add_request_prop(session,"remote_ip",session->host_ip);
 	js_add_request_prop(session,"remote_host",session->host_name);
+	if(session->req.query_str && session->req.query_str[0])  {
+		js_add_request_prop(session,"query_string",session->req.query_str);
+		js_parse_query(session,session->req.query_str);
+	}
+	if(session->req.post_data && session->req.post_data[0]) {
+		js_add_request_prop(session,"post_data",session->req.post_data);
+		js_parse_query(session,session->req.post_data);
+	}
 
 	do {
 		/* RUN SCRIPT */
@@ -4169,10 +4169,6 @@ int read_post_data(http_session_t * session)
 		if(session->req.post_len > i)
 			session->req.post_len = i;
 		session->req.post_data[session->req.post_len]=0;
-		if(session->req.dynamic==IS_SSJS || session->req.dynamic==IS_JS)  {
-			js_add_request_prop(session,"post_data",session->req.post_data);
-			js_parse_query(session,session->req.post_data);
-		}
 	}
 	return(TRUE);
 }