diff --git a/src/sbbs3/sbbs_ini.c b/src/sbbs3/sbbs_ini.c
index cd71c39c4f690acd7606b4f24da9c3bd25e47443..86dd8779e200dd7047e2ffafb6371a8195a148cf 100644
--- a/src/sbbs3/sbbs_ini.c
+++ b/src/sbbs3/sbbs_ini.c
@@ -511,6 +511,9 @@ void sbbs_read_ini(
 		iniFreeStringList(web->cgi_ext);
 		web->cgi_ext
 			=iniGetStringList(fp,section,"CGIExtensions", "," ,".cgi");
+		iniFreeStringList(web->cgi_dir);
+		web->cgi_dir
+			=iniGetStringList(fp,section,"CGIDirectories", "," ,"../cgi-bin");
 		SAFECOPY(web->ssjs_ext
 			,iniGetString(fp,section,"JavaScriptExtension",".ssjs",value));
 
diff --git a/src/sbbs3/websrvr.h b/src/sbbs3/websrvr.h
index ed52eab5b5487d5e84d7be04cfd8dd3714a5be30..5d7843e49d24e6f9dad0715e9b8a88744398183e 100644
--- a/src/sbbs3/websrvr.h
+++ b/src/sbbs3/websrvr.h
@@ -69,6 +69,7 @@ typedef struct {
 	/* Paths */
 	char	ssjs_ext[16];			/* Server-Side JavaScript file extension */
 	char**	cgi_ext;				/* CGI Extensions */
+	char**	cgi_dir;				/* CGI Directories (all files executable) */
     char    ctrl_dir[128];
     char	root_dir[128];
     char	error_dir[128];