diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c
index 798a253d3c7c73ea1d86bef1bb8070c0e96b531b..749d90802973b93fc0e99007a9b49fd3d3351462 100644
--- a/src/sbbs3/websrvr.c
+++ b/src/sbbs3/websrvr.c
@@ -4708,6 +4708,7 @@ static BOOL exec_cgi(http_session_t *session)
 	char	cgipath[MAX_PATH+1];
 	char	*p;
 	BOOL	orig_keep=FALSE;
+    char *handler;
 
 	SAFECOPY(cmdline,session->req.physical_path);
 
@@ -4728,19 +4729,18 @@ static BOOL exec_cgi(http_session_t *session)
 		return(FALSE);
 	}
 
+	handler = get_cgi_handler(cmdline);
+	if (handler)
+		lprintf(LOG_INFO,"%04d Using handler %s to execute %s",session->socket,handler,cmdline);
+
 	if((child=fork())==0)  {
 		str_list_t  env_list;
-		char *handler;
 
 		/* Do a full suid thing. */
 		if(startup->setuid!=NULL)
 			startup->setuid(TRUE);
 
 		env_list=get_cgi_env(session);
-		handler = get_cgi_handler(cmdline);
-		if (handler)
-			lprintf(LOG_INFO,"%04d Using handler %s to execute %s",session->socket,handler,cmdline);
-
 		/* Set up STDIO */
 		dup2(session->socket,0);		/* redirect stdin */
 		close(out_pipe[0]);		/* close read-end of pipe */